一、SpringMVC执行流程
1.用户请求发送到前端控制器DispatcherServlet
2.DispatcherServlet收到请求后调用处理器映射器HandlerMapping
3.处理器映射器根据请求URL找到对应的处理器,生成处理器对象和处理器拦截器(如果有则一并生成),一并返回给DispatcherServlet
4.DispatcherServlet通过处理器适配器HandlerAdapter调用具体的处理器Controller
5.执行处理器Controller(也叫做后端处理器)
6.Controller返回ModelAndView
7.HandlerAdapter将Controller的执行结果ModelAndView返回给DispatcherServlet
8.DispatcherServlet将ModelAndView传给视图解析器ViewReslover
9.ViewReslover解析后返回具体的View
10.DispatcherServlet对View进行渲染(即模型数据填充至视图中)
11.DispatcherServlet将渲染好的视图响应给用户
二、SpringMVC组件说明
1.DispatcherServlet:前端控制器
用户请求到达DispatcherServlet,它就相当于MVC模式中的C,DispatcherServlet是整个流程的控制中心,由它来调用其他组件处理用户的各种请求,DispatcherServlet的存在降低了其他组件的耦合度。
2.HandlerMapping:处理器映射器
HandlerMapping负责根据请求URL找到对应的处理器Handler,springMVCt提供了不同映射器实现不同的映射方式,如:xml配置文件,通过接口实现,注解实现
3.HandlerAdapter:处理器适配器
通过HandlerAdapter执行处理器,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器执行
4.ViewResolver:视图解析器
ViewResolver负责处理结果生成的View视图,首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象,最后对View进行渲染,最后将处理结果通过页面展示给用户
5.Handler:处理器
Handler是相对于前端控制器的后端控制器,在dispatcherServlet的控制下处理用户的具体请求,由于Handler涉及到用户的具体业务请求,所以一般需要程序员开发Handler
6.View:视图
SpringMVC提供了很多View视图类型的支持,但最常用的就是jsp。