2.SpringMVC执行流程

时间:2021-03-12 17:29:28

SpringMVC 执行流程:

  2.SpringMVC执行流程

执行流程简单分析:

  1.浏览器提交请求到*调度器

  2.*调度器直接将请求转给处理器映射器

  3.处理器映射器会根据请求,找到处理该请求的处理器,并将其封装为处理器执行链后,返回给*调度器

  4.*调度器根据执行链中的处理器,找到能够执行该处理器的处理器适配器

  5.处理器适配器调用执行处理器

  6.处理器将处理结果及要跳转的视图封装到一个 ModelAndView中,并将其返回给处理器适配器

  7.处理器适配器直接将结果返回给*调度器

  8.*调度器调用视图解析器,将ModelAndView 中的视图名称封装为视图对象

  9.视图解析器将封装了的视图对象返回给*调度器

  10.*调度器调用视图对象,让其自己渲染,即进行数据填充,形成响应对象

  11.*调度器响应浏览器

API简要说明

  1.DispathcerServlet

    *调度器,也称为前端控制器,在 MVC 架构模式中充当控制器 C,DispatcherServlet 是整个流程的控制中心,

    由它调用诸如处理器映射器、处理器适配器、视图解析器等其它组 件处理用户请求。*调度器的存在降低了组件之间的耦合度。

  2.HandlerMapping

    处理器映射器,负责根据用户请求找到相应的将要执行的 Handler,即处理器。即用于

    完成将用户请求映射为要处理该请求的处理器,并将处理器封装为处理器执行链传给*调 度器。

  3.HandlerAdapter

    处理器适配器,通过 HandlerAdapter 对处理器进行执行,这是适配器模式的应用,通过 扩展适配器可以对更多类型的处理器进行执行。

    *调度器会根据不同的处理器自动为处理 器选择适配器,以执行处理器。

  4.Handler

    处理器,也称为后端控制器,在 DispatcherServlet 的控制下 Handler 调用 Service 层对具 体的用户请求进行处理。

    由于 Handler 涉及到具体的用户业务请求,所以一般情况下需要程 序员根据业务需求自己开发 Handler。

  5.ViewResolver

    视图解析器,负责将处理结果生成 View 视图,ViewResolver 首先将逻辑视图名解析为 物理视图名,即具体的页面地址,

    再生成 View 视图对象。最后将处理结果通过页面形式展示给用户。

    SpringMVC 框架提供了很多的 View 视图类型,包括:JstlView、RedirectView 等。一般 情况下需要通过页面标签或页面模版技术

    将模型数据通过页面展示给用户,需要由程序员根 据业务需求开发具体的页面。

DispathcerServlet的默认配置

  在DispathcerServlet的默认配置DispathcerServlet.properties文件中定义了一些默认映射器,适配器,解析器等

  查看这个配置文件可知:
  2.SpringMVC执行流程