好吧,开始。
-
用户发送一个请求到服务器,服务器中的前端控制器
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作用域,响应客户端
网友评论