栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring MVC 快速入门(一)第一个配置式SpringMVC程序

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring MVC 快速入门(一)第一个配置式SpringMVC程序

让我们来写一下我们的第一个 Spring MVC 程序:

新建一个Maven工程当做父工程!pom依赖!


主要有Spring框架核心库、Spring MVC、servlet , JSTL等。

 
        
            junit
            junit
            4.12
        
        
            org.springframework
            spring-webmvc
            5.1.9.RELEASE
        
        
            javax.servlet
            servlet-api
            2.5
        
        
            javax.servlet.jsp
            jsp-api
            2.2
        
        
            javax.servlet
            jstl
            1.2
        
    
    
由于Maven可能存在资源过滤的问题,我们将配置完善

   
       
           src/main/java
           
               ***.xml
           
           false
       
       
           src/main/resources
           
               ***.xml
           
           false
       
   

新建一个Moudle , springmvc-02-hello,MavenWeb项目


Spring MVC配置

Spring MVC 是基于 Servlet 的,DispatcherServlet 是整个 Spring MVC 框架的核心,主要负责截获请求并将其分派给相应的处理器处理。所以配置 Spring MVC,首先要定义 DispatcherServlet。跟所有 Servlet 一样,用户必须在 web.xml 中进行配置。

注册DispatcherServlet中央调度器



  
  
    springmvc
    org.springframework.web.servlet.DispatcherServlet
    
    
      contextConfigLocation
      classpath:springmvc-servlet.xml
    
    
    
    1
  

  
  
  
    springmvc
    
    /
  


上述代码配置了一个名为“springmvc”的 Servlet。该 Servlet 是 DispatcherServlet 类型,它就是 Spring MVC 的入口,并通过 1 配置标记容器在启动时就加载此 DispatcherServlet,即自动启动。然后通过 servlet-mapping 映射到“/”,即 DispatcherServlet 需要截获并处理该项目的所有 URL 请求。

init-param 元素

Spring MVC 初始化时将在应用程序的 WEB-INF 目录下查找配置文件,该配置文件的命名规则是“servletName-servlet.xml”,例如 springmvc-servlet.xml。

也可以将 Spring MVC 的配置文件存放在应用程序目录中的任何地方,但需要使用 servlet 的 init-param 元素加载配置文件,通过 contextConfigLocation 参数来指定 Spring MVC 配置文件的位置,示例代码如下。

    
      contextConfigLocation
      classpath:springmvc-servlet.xml
    

此处使用 Spring 资源路径的方式进行指定,即 classpath:springmvc-servlet.xml。

在中添加的作用是,,标记是否在Web服务器(这里是Tomcat) 启动时会创建这个 Servlet 实例,即是否在 Web 服务器启动时调用执行该 Servlet 的 init()方法,而不是在真正访问时才创建。它的值必须是一个整数。

● 当值大于等于 0 时,表示容器在启动时就加载并初始化这个 servlet,数值越小,该 Servlet的优先级就越高,其被创建的也就越早;

● 当值小于 0 或者没有指定时,则表示该 Servlet 在真正被使用时才会去创建。

● 当值相同时,容器会自己选择创建顺序。

< url-pattern > / 不会匹配到.jsp, 只针对我们编写的请求;即:.jsp 不会进入spring的 DispatcherServlet类 。< url-pattern > /* 会匹配 *.jsp,会出现返回 jsp视图 时再次进入spring的DispatcherServlet 类,导致找不到对应的controller所以报404错。

创建Spring MVC配置文件

在工程的类路径即 src 目录下创建 SpringMVC 的配置文件 springmvc.xml。

这个文件名的开头 springmvc与上面 web.xml 中的 元素配置的 springmvc 对应,这是 Spring MVC 的映射配置文件(xxx-servlet.xml)





添加 处理映射器

  

添加 处理器适配器


修改视图解析器的注册

SpringMVC 框架为了避免对于请求资源路径与扩展名上的冗余,在视图解析器 InternalResouceViewResolver 中引入了请求的前辍与后辍。而 ModelAndView 中只需给出要跳转页面的文件名即可,对于具体的文件路径与文件扩展名,视图解析器会自动完成拼接。

定义处理器

该处理器需要实现 Controller 接口。

Controller 是控制器接口,接口中只有一个方法 handleRequest,用于处理请求和返回 ModelAndView。


ModelAndView 类中的 addObject()方法用于向其 Model 中添加数据。Model 的底层为一个 HashMap。

Model 中的数据存储在 request 作用域中,SringMVC 默认采用转发的方式跳转到视图,本次请求结束,模型中的数据被销毁。

 
    
        
        
        
        
    
注册处理器

在 springmvc.xml 中注册处理器。不过,需要注意处理器的 id 属性值为一个请求 URI。表示当客户端提交该请求时,会访问 class 指定的这个处理器。

将自己的类交给SpringIOC容器,注册bean

 
    
    
定义目标页面View

在 WEB-INF 目录下新建一个子目录 jsp,在其中新建一个 jsp 页面 hello.jsp。

写要跳转的jsp页面,显示ModelandView存放的数据,以及我们的正常页面;

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Kuangshen


${msg}


部署运行





转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/343120.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号