1. Spring MVC的运行流程主要包括以下步骤:
- 用户发送请求到前端控制器(DispatcherServlet)。
- 前端控制器接收到请求后,初始化处理器映射器(HandlerMapping)和处理器适配器(HandlerAdapter)。
- 前端控制器根据请求的URL和Method,使用处理器映射器找到符合条件的处理器(Handler)。
- 处理器映射器将处理器封装成处理器执行链,并返回给前端控制器。
- 前端控制器将处理器执行链传递给处理器适配器。
- 处理器适配器根据处理器执行链找到对应的控制器(Controller)和方法,并调用控制器方法执行。
- 在控制器方法执行前后,可以根据需要执行拦截器(Interceptor)的preHandle和postHandle方法。
- 控制器方法执行完成后,返回一个ModelAndView对象给处理器适配器。
- 处理器适配器将ModelAndView对象传递给前端控制器。
- 前端控制器使用视图解析器(ViewResolver)将ModelAndView对象解析成视图对象(View)。
- 前端控制器将视图对象渲染成响应结果,并将响应结果返回给用户。
--> Request --> DispatcherServlet
|
v
HandlerMapping --> Handler
|
v
适配器 --> PreHandle --> 目标方法
| |
v v
PostHandle --> 异常解析器 --> ModelAndView
|
v
视图解析器 --> View
|
v
--> Response
2. 流程图: