SpringMVC执行流程(请求流程,运行流程,运行原理,工作流程,工作原理)

流程图(来源于网络):

SpringMVC执行流程(请求流程,运行流程,运行原理,工作流程,工作原理)
SpringMVC执行流程(请求流程,运行流程,运行原理,工作流程,工作原理)
SpringMVC执行流程(请求流程,运行流程,运行原理,工作流程,工作原理)
SpringMVC执行流程(请求流程,运行流程,运行原理,工作流程,工作原理)
SpringMVC执行流程(请求流程,运行流程,运行原理,工作流程,工作原理)
SpringMVC执行流程(请求流程,运行流程,运行原理,工作流程,工作原理)
SpringMVC执行流程(请求流程,运行流程,运行原理,工作流程,工作原理)

springmvc工作流程:

在web.xml中设置DispatcherServlet的为/时,
1.用户向服务端发送一次请求,首先会执行DispatcherServlet(前端控制器,*控制器)。

2.DispatcherServlet接收到请求后会调用HandlerMapping(处理器映射器),并返回Handler(处理器对象,平常叫做controller)。 由此得知该请求该由哪个Controller来处理(并未调用Controller,只是得知)。

3.DispatcherServlet调用HandlerAdapter(处理器适配器)去执行Handler。

4.Handler执行完后给HandlerAdapter返回ModelAndView(逻辑视图,ModelAndView是springmvc框架的一个底层对象,包括 Model和view)。

5.HandlerAdapter向DispatcherServlet返回ModelAndView。

6.DispatcherServlet将ModelAndView交给ViewResolver(视图解析器)进行视图解析,并返回真正的视图View。(根据逻辑视图名解析成真正的视图(jsp)),通过这种策略很容易更换其他视图技术,只需要更改视图解析器即可。

7.DispatcherServlet对视图进行渲染,然后向用户响应结果。

组件说明:

DispatcherServlet:前端控制器,也称为*控制器,它是整个请求响应的控制中心,组件的调用由它统一调度。

HandlerMapping:处理器映射器,它根据用户访问的 URL 映射到对应的后端处理器 Handler。也就是说它知道处理用户请求的后端处理器,但是它并不执行后端处理器,而是将处理器告诉给*处理器。

Handler:处理器对象,可理解为controller

HandlerAdapter:处理器适配器,它调用后端处理器中的方法,返回逻辑视图 ModelAndView 对象。

ViewResolver:视图解析器,将 ModelAndView 逻辑视图解析为具体的视图View(如 JSP)。

View:是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf…)

相关参考:

SpringMVC执行流程(请求流程,运行流程,运行原理,工作流程,工作原理)
springMVC请求流程详解

springmvc工作流程

你真的了解Spring MVC处理请求流程吗?(详细源码)

SpringMVC 运行流程

springmvc面试题

SpringMVC的简介和工作流程