SpringMVC工作流程
发请求到前端控制器DispatcherServlet
-
前端控制器请求HandlerMapping查找Handler
可以根据xml配置,注解来进行查找
处理器映射器HandlerMapping向前端控制器返回Handler
前端控制器调用处理器适配器HandlerAdapter执行Handler
处理器适配器执行Handler
Handler执行完成给处理器适配器返回ModelAndView
-
处理器适配器向前端控制器返回ModelAndView
ModelAndView是SpringMVC的一个底层对象,包括Model和View
-
前端控制器请求视图解析器进行视图解析
根据逻辑视图名解析成真正的视图(jsp,freemarker,thymeleaf,excel,pdf...)
视图解析器向前端控制器返回View
前端控制器进行视图渲染
视图渲染将模型数据(在ModelAndView对象中)填充到request域
- 前端控制器向用户响应结果
组件:
-
前端控制器 DispatcherServlet
作用:接受请求,相应结果(相当于转发器)
有了 DispatcherServlet就减少了其它组件之间的耦合度
-
处理器映射器 HandlerMapping
作用:根据请求的URL查找Handler
-
处理器适配器 HandlerAdapter
作用:按照特定的规则(HandlerAdapter要求的规则)去执行Handler
-
处理器 Handler(需要程序员编写)
注意:编写Handler时要按照HandlerAdapter的要求去做,这样适配器才能去正确执行Handler
-
视图解析器 ViewResolver
作用:解析视图,根据逻辑视图名解析成真正的视图(View)
-
视图 View
View是一个接口,其实现类支持不同View类型(jsp,freemarker,thymeleaf,excel,pdf...)