SpringMVC的工作流程

1、工作流程

(1) 首先用户发送请求——>前端控制器DispatcherServlet,前端控制器收到请求后自己不进行处理,而是委托给其他的解析器进行处理,作为统一访问点,进行全局的流程控制;(1)

(2) DispatcherServlet——>处理器映射器HandlerMapping,HandlerMapping 将会把请求映射为 执行链HandlerExecutionChain 对象(包含一个 Handler 处理器(页面控制器)对象、多个 HandlerInterceptor 处理器拦截器)对象,通过这种策略模式,很容易添加新的映射策略;(2)(3)

(3)DispatcherServlet——>处理器适配器HandlerAdapter,HandlerAdapter 将会把 处理器controller 包装为适配器,从而支持多种类型的处理器,即适配器设计模式的应用,从而很容易支持很多类型的处理器;(4)

(4)HandlerAdapter——>处理器功能处理方法的调用,HandlerAdapter 将会根据适配的结果调用真正的处理器controller的功能处理方法,完成功能处理;并返回一个 ModelAndView 对象(包含模型数据、逻辑视图名);(5)(6)

(5)ModelAndView 的逻辑视图名——> ViewResolver视图解析器, ViewResolver 将把逻辑视图名解析为具体的 视图View,通过这种策略模式,很容易更换其他视图技术;

(6)View——>渲染,View 会根据传进来的 Model 模型数据进行渲染,此处的 Model 实际是一个 Map 数据结构,因此很容易支持其他视图技术;

(7)返回控制权给 DispatcherServlet,由 DispatcherServlet 返回响应给用户,到此一个流程结束。

参考博客:https://blog.csdn.net/zhaolijing2012/article/details/41596803

原文地址:https://www.cnblogs.com/guoyu1/p/12123449.html