SpringMvc整个的执行流程:

SpringMvc整个的执行流程:
在这里插入图片描述
1、发起请求到前端控制器(DispatcherServlet )
2、前端控制器请求HandlerMapping查找Handler(可以根据xml、注解进行查找)
3、处理器映射器HandlerMapping向前端控制器DispatcherServlet 返回Handler
4、前端控制器DispatcherServlet 调用处理器适配器HandlerAdapter 执行Handler
5、处理器适配器HandlerAdapter 执行Handler
6、Handler执行完给处理器适配器返回ModelAndView
7、处理器适配器向前端控制器返回ModelAndView (ModelAndView 是SpringMvc的底层对象 包括model和view)
8、前端控制器请求视图解析器去解析视图
  根据逻辑视图名解析成真正的视图(jsp)
9、视图解析器向前端控制器返回view
10、前端控制器进行视图渲染
  视图渲染将模型数据(模型数据在ModelAndView对象中)填充到request域
11、前端控制器向用户响应结果
组件
1、前端控制器 DispatcherServlet(不需要程序员开发)
  作用:接收请求、响应结果 相当于转发器
  有了DispatcherServlet 就减少了其它组件之间的耦合度
2、处理器映射器HandlerMapping(不需要程序员开发)
  作用:根据请求的URL来查找Handler
3、处理器适配器HandlerAdapter
  作用:按照特定的规则(HandlerAdapter要求的规则)去执行Handler
  注意:在编写Handler的时候要按照HandlerAdapter要求的规则去编写,这样适配器HandlerAdapter才可以正确的去执行Handler
4、处理器Handler(需要程序员开发)
5、视图解析器 View Resolver(不需要程序员开发)
  作用:进行视图的解析 根据视图逻辑名解析成真正的视图(view)
6、视图View(需要程序员开发jsp)
  View是一个接口, 它的实现类支持不同的视图类型(jsp,freemarker,pdf。。。)

猜你喜欢

转载自blog.csdn.net/weixin_43850491/article/details/89736542