原理图
组件解释
角色 | 功能 |
---|---|
DispatcherServlet | 前端控制器:接收请求,响应结果。起中央处理的角色 DispatcherServlet的存在降低了组件之间耦合度的要求 |
HandlerMapping | 处理器映射器:根据URL查找Handler,和DispatcherServlet直接联系 |
HandlerAdapter | 处理器适配器:去执行Handler,和DispatcherServlet直接联系 |
Handler | 处理器:负责具体实施应用 |
ViewResolver | 视图解析器:视图解析,和DispatcherServlet直接联系 |
过程分析
1、用户与DispatcherServlet交互
- 用户发起请求到DispatcherServlet(前端控制器)
2、DispatcherServlet与HandlerMapping交互
- DispatcherServlet请求HandlerMapping查找Handler
- HandlerMapping查找Handler。查找的方式可以是xml等配置文件或者注解
- HandlerMapping向DispatcherServlet返回Handler
3、DispatcherServlet与HandlerAdapter交互
- DispatcherServlet调用HandlerAdapter执行Handler
- HandlerAdapter执行Handler
- Handler执行完,将ModelandView返回给HandlerAdapter
- HandlerAdapter向前端控制器返回ModelandView
4、DispatcherServlet与ViewResolver交互
- DispatcherServlet请求ViewResolver进行视图解析
- ViewResolver向DispatcherServlet返回view
5、DispatcherServlet和用户交互
- DispatcherServlet进行视图渲染,将模型数据填充到request域
- DispatcherServlet向用户响应结果