SpringMVC-详细执行流程

架构流程

  • 首先用户发送一个请求会到达前端控制器 DispatcherServlet
  • DispatcherServlet 收到用户的请求之后会调用 HandlerMapping 处理器映射器
  • 处理器映射器根据请求的 url 找到具体的处理器
  • 生成处理器对象及处理器拦截器(如果有则生成)之后并返回给 DispatcherServlet
  • DispatcherServlet 通过 HandlerAdapter 处理器适配器调用处理器
  • 执行处理器(Controller,也叫后端控制器)
  • Controller 执行完成后返回 ModelAndView
  • HandlerAdapter 将 controller 的执行结果 ModelAndView 返回给 DispatcherServlet
  • DispatcherServletModelAndView 传给 ViewReslover 视图解析器
  • ViewReslover 解析后返回一个具体的 View
  • DispatcherServletView 进行渲染也就是视图(将模型数据填充至视图中)在响应给用户查看

架构流程图

组件说明

DispatcherServlet

  • 前端控制器
  • 用户请求会到达前端控制器,它就相当于 MVC 模式中的 C
  • DispatcherServlet 是整个流程控制的中心
  • 由它调用其它的组件来进行处理用户的请求
  • DispatcherServlet 的存在降低了组件之间的耦合性

HandlerMapping

  • 处理器映射器
  • HandlerMapping 负责根据用户请求的 url 找到对应的 Handler 处理器
  • SpringMVC 还提供了不同的映射器为了实现不同的映射方式
  • HandlerMapping 会把找到的映射返回给 前端控制器

Handler

  • 后端控制器
  • DispatcherServlet 的控制下调用 Handler 对用户具体的请求进行处理

HandlAdapter

  • 处理器适配器
  • 通过 HandlerAdapter 对处理器进行执行

ViewResolver

  • 视图解析器
  • View Resolver 负责将处理器处理的结果生成 View 视图

View

  • SpringMVC 框架提供了很多的 View 视图类型的支持
  • 包括如:jstlViewfreemarkerViewpdfView
  • 我们最常用的视图就是 jsp
posted @ 2020-10-18 22:43  BNTang  阅读(94)  评论(0编辑  收藏  举报