SpringMVC请求流程

在这里插入图片描述

请求流程如图所示,大概分为11步
  • 0、前端发起请求有前端控制器(DispatcherServlet)进行处理。

  • 1、前端控制器通过HandlerMapping(可以是注解,可以是XML配置文件)查找对应的Handler(这里的Handler是我们写的Controller)

  • 2、将Handler返回给DispatcherServlet

  • 3、DispatcherServlet将Handler给HandlerAdapter(处理器适配器)

  • 4、HandlerAdapter执行Handler里面的Method

  • 5、Method返回ModelAndView给HandlerAdapter

  • 6、HandlerAdapter把ModelAndView返回给DispatcherServlet

  • 7、DispatcherServlet请求ViewResolver(视图解析器)

  • 8、视图解析器返回View给DispatcherServlet

  • 9、渲染View

  • 10、Response

为什么需要HandlerAdapter

这里使用了适配器模式,因为Handler有多种,可以是@Controller注解标注的,也可以是Servlet当做控制器。HandlerAdapter有多个子类,每个子类适配不同的Handler,处理的时候只需要调用Handel()屏蔽了不一致的细节

在这里插入图片描述

关于适配器模式具体可以参考这篇博客
“以SpringMVC中的HandlerAdapter来分析适配器模式”
https://blog.csdn.net/qq_36781505/article/details/89519286

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐