好吧,开始。

-
用户发送一个请求到服务器,服务器中的前端控制器
DispatcherServlet接受- 前端控制器
DispatcherServlet是用于HTTP请求处理程序/控制器的中央调度器,由他监控和调度整个流请求处理流程
- 前端控制器
-
前端控制器
DispatcherServlet接受请求并发送给处理器映射器HandlerMapping- 处理器映射器
HandlerMapping,负责将请求URL地址映射到某个处理器Handler - 处理器
Handler处理请求
- 处理器映射器
-
处理器映射器
HandlerMapping找到对应的Handler,返回执行链HandlerExecutionChain到前端控制器DispatcherServlet- 执行链
HandlerExecutionChain中有一些拦截器,拦截一些请求
- 执行链
-
前端控制器
DispatcherServlet告诉处理器配置器HandlerAdapter实行Handler- 处理器配置器
HandlerAdapter根据配置结果,执行Handler, 处理器配置器HandlerAdapter就是实际调用Handler的一个类
- 处理器配置器
-
Hander处理具体的业务需求返回模型和视图对象
ModelAndView给处理器配置器HandlerAdapter,再由处理器配置器HandlerAdapter返回给前端控制器DispatcherServlet- 模型和视图
ModelAndView中保存对象和视图信息,对象信息就是key和value,视图信息就是跳转的视图的信息
- 模型和视图
-
前端控制器
DispatcherServlet得到模型和视图ModelAndView就去请求视图解析器ViewResolver- 视图解析器
ViewResolver负责将逻辑视图名解析为某个具体的一个实现了View接口的对象
- 视图解析器
-
视图解析器
ViewResolver解析模型和视图ModelAndView得到视图View- 视图
View负责给客户端返回应答结果,结果不仅可以是HTMl页面,也可以是文本,PDF,Excel或报表
- 视图
前端控制器
DispatcherServlet最后将得到的视图View进行渲染,将Model中的数据填充到request作用域,响应客户端