SpringMVC原理
工作流程

-
1.用户发送请求到DispatcherServlet(前端处理器)
-
2.DispatcherServlet调用HandlerMapping(处理器映射器)
-
3.HandlerMapping根据配置(xml/注解)找到最终要执行的Handler,生成处理器对象及处理器拦截器返回给DispatcherServlet
-
4.DispatcherServlet调用HandlerAdapter(处理器适配器)
-
5.HandlerAdapter根据规则执行相应的Controller
-
6.Controller执行完成返回ModelAndView
-
7.HandlerAdapter将Controller执行结果ModelAndView返回给DispatcherServlet
-
8.DispatcherServlet将ModelAndView传给ViewReslover(视图解析器)
-
9.ViewReslover解析完成返回具体View给DispatcherServlet
-
10.DispatcherServlet根据View渲染视图,将模型数据转为Response响应
组件说明
DispatcherServlet(前端控制器)【框架提供】
-
说明:作为前端控制器,是整个流程的控制中心,控制其他组件执行,统一调度,降低组件之间的耦合性,提个组件的扩展性。相当于MVC中的C
-
作用:接收请求,相应结果,相当于转发器、中央处理器
HandlerMapping(处理器映射器)【框架提供】
-
说明:通过扩展处理器映射器实现不同的映射方式(例如:配置文件方式、实现接口方式、注解方式等)
-
作用:根据请求url查找Handler
处理器适配器(HandlerAdapter)
-
说明:适配器模式的应用,通过扩展处理器适配器,支持更多类型的处理器
-
作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler
Handler(处理器)【自行开发】
-
说明:Handler是后端控制器(即Controller),在DispatcherServlet的控制下Handler对具体的用户请求进行处理(Handler一般为具体的业务请求)
-
作用:处理具体用户请求
注意:编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler
ViewResolver(视图解析器)【框架提供】
-
说明:ViewResolver负责将处理结果生产View视图。首先根据逻辑视图名解析成物理视图名(即页面地址),再生成View视图对象,最后渲染View返回。SpringMVC支持更多类型的视图解析(例如:JSP、freemarker,PDF,Excel等View)
-
作用:进行视图解析,根据逻辑视图名解析成真正的视图
View(视图)【自行开发】
- View是一个接口,实现类支持不同的View类型(JSP、freemarker、PDF等)
参考:https://blog.csdn.net/qq_43378945/article/details/90907427

浙公网安备 33010602011771号