SpringMVC(一)入门

Posted on 2021-04-18 15:43  MissRong  阅读(63)  评论(0)    收藏  举报

SpringMVC(一)入门

一、简介

Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,

即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型

通过实现Model-View-Controller模式来很好地将数据、业务与视图进行分离。

Spring MVC的设计是围绕DispatcherServlet展开的,DispatcherServlet负责将请求派发到特定的handler。

通过可配置的HandlerMapping(映射处理器)、controller(控制器)ViewResolver( 视图解析器)进行mvc的模式的体现。

二、Spring Web MVC 的作用

进行更简洁的Web层的开发;

√Web层进行解耦

三、SpringMVC处理请求的过程

 1、首先用户发送请求————>前端控制器

前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分。

2、 页面控制器接收到请求后,进行功能处理

首先需要收集和绑定请求参数到一个对象,这个对象在Spring Web MVC中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;

处理完毕后返回一个ModelAndView(模型数据和逻辑视图名)

3、前端控制器

前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;

前端控制器再次收回控制权,将响应返回给用户,至此整个结束。

四、核心架构图

 

 五、开发的主要步骤

1、 DispatcherServlet在web.xml中的部署描述,从而拦截请求到Spring Web MVC

2、 HandlerMapping的配置,从而将请求映射到处理器

3、 HandlerAdapter的配置,从而支持多种类型的处理器

4、 ViewResolver的配置,从而将逻辑视图名解析为具体视图技术

5、处理器(页面控制器)的配置,从而进行功能处理

六、前期准备及过程理解

1、导入jar包

 

 

 注意:后两个是到这里需要再添加的

2、web项目,需要有请求,需要配置DispatcherServlet---前端控制器(在web.xml中)

    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
注: 
<servlet>里面的是servlet的指定,
 <servlet-mapping>是映射的指定的servlet,
 <url-pattern>/</url-pattern>代表的是可以找DispatcherServlet的url地址,这里的/代表任何的请求都会调用,除了.jsp文件。

3、加载配置文件

   <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

注:这里的classpath是针对src开始的,ContextConfigLocation中的首字母要小写。

4、在测试类(这里可以代替Controller层)中加入映射方法

 

 5、创建相关的.jsp文件:

 

 6、配置.xml文件中的注解映射器

这里就是<init-param>中指定的springmvc.xml文件

加上:

七、解释:

页面发送请求---/hello

然后会先到: <url-pattern>/</url-pattern> 上,

之后再通过映射,到 DispatcherServlet进行分发,

接着Controller层接收请求--@RequestMapping("hello")

最后通过.setViewName("...jsp")进行页面的跳转。

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3