你的位置:首页 > 软件开发 > Java > SpringMVC篇(一)

SpringMVC篇(一)

发布时间:2016-08-30 20:00:09
SpringMVC原理图:    步骤:首先用户发送请求。——>DispatcherServlet,前端控制器收到请求后自己不进行处理,而是委托给其他的解析器进行处理,作为统一访问点,进行全局的流程控制。DispatcherServl ...

SpringMVC篇(一)

SpringMVC原理图

    SpringMVC篇(一)

步骤:

  1. 首先用户发送请求。——>DispatcherServlet,前端控制器收到请求后自己不进行处理,而是委托给其他的解析器进行处理,作为统一访问点,进行全局的流程控制。
  2. DispatcherServlet——>HandlerMapping, HandlerMapping将会把请求映射为HandlerExecutionChain对象(包含一个Handler处理器(页面控制器)对象、多个HandlerInterceptor**)对象,使用了策略模式。
  3. 前端控制器调用适配器去执行Handler。DispatcherServlet——>HandlerAdapter,HandlerAdapter将会把处理器包装为适配器,从而支持多种类型的处理器,即适配器设计模式的应用。
  4. 处理器适配器去执行handler。HandlerAdapter——>处理器功能处理方法的调用,HandlerAdapter将会根据适配的结果调用真正的处理器的功能处理方法,完成功能处理;并返回一个ModelAndView对象(包含模型数据、逻辑视图名)。
  5.  前端控制器请求视图解析器去进行视图的解析。ModelAndView的逻辑视图名——> ViewResolver, ViewResolver将把逻辑视图名解析为具体的View,再次使用策略模式。
  6. 前端控制器对视图进行渲染。 View——>渲染,View会根据传进来的Model模型数据进行渲染,此处的Model实际是一个Map数据结构,所以其很容易支持其他视图技术。

  7. 返回控制权给DispatcherServlet,由DispatcherServlet返回响应给用户,到此一个流程结束。(图中的连线有错,偷懒没有改过来)。

组件介绍:

  • 前端控制器(DispatcherServlet):接收请求,响应结果。
  • 处理器映射器(HandlerMapping):根据url去查找handler。

  • 处理器(Handler):(这个是我们自己写的)。
  • 处理器适配器(HandlerAdapter):要求我们按照这个规则去写。

  • 视图解析器(ViewResolver):把逻辑视图解析成真正的视图。真正的视图=前缀+逻辑视图名+后缀

  • 视图(View):需要用户自己开发。

一.基于注解的HelloWorld

  1.导入jar

    SpringMVC篇(一)

  2.在web.

web.

 1 <servlet> 2   <servlet-name>dispatcher</servlet-name> 3     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 4     <!--  5       默认的配置文件的地址:/WEB-INF/servlet的名字-servlet. 6       <init-param> 7       <param-name>contextConfigLocation</param-name> 8       <param-value>classpath:文件名</param-value> 9       </init-param>10     -->11 </servlet>12 <servlet-mapping>13 <servlet-name>dispatcher</servlet-name>14   <!-- 15     第一种:*.html,*.action 就是过滤以.xxx结尾的16     第二种:/ 所有的地址都会进入这个进行解析,静态的资源,需要添加配置17     第三种:/* 他就是变态,连jsp页面都进来,结果就是报错XXXXX别用18   ->19   <url-pattern>/</url-pattern>20 </servlet-mapping>

原标题:SpringMVC篇(一)

关键词:Spring

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录