这里写图片描述
这里写图片描述
这里写图片描述

在整个框架中,DispatcherServlet处于核心的位置,它负责协调和组织不同组件以完成请求处理并返回响应的工作
具体的处理流程:

1)整个过程始于客户端发出一个HTTP请求,Web应用服务器接收到这个请求,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),Web容器将该请求转交给DispatcherServlet处理。

2)DispatcherServlet接收到这个请求后,将根据请求的信息及HandlerMapping的配置找到处理请求的处理器(Handler)。注意:Spring MVC中并没有定义一个Handler接口,实际上任何一个Object都可以成为请求处理器。

3)当DispatcherServlet根据HandlerMapping得到对应当前请求的Handler后,通过HandlerAdapter对Handler进行封装,再以统一的适配器接口调用Handler。HandlerAdapter是Spring MVC的框架级接口,顾名思义,HandlerAdapter是一个适配器,它用统一的接口对各种Handler方法进行调用。

4)处理器完成业务逻辑的处理后将返回一个ModelAndView给DispatcherServlet,ModelAndView包含了视图逻辑名和模型数据信息。

5)ModelAndView中包含的是“逻辑视图名”而非真正的视图对象,DispatcherServlet借由ViewResolver完成逻辑视图名到真实视图对象的解析工作。

6)当得到真实的视图对象View后,DispatcherServlet就使用这个View对象对ModelAndView中的模型数据进行视图渲染。

7)最终客户端得到的响应消息

(概念性部分图片文字摘自书中或转自其他出处)

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐