SpringMVC源码分析 - DispatcherServlet请求处理过程

概要

这张图在网上搜到的,但是实际的来源处实在找不到了,如果后面找到一定补上链接。

上图的流程可用以下文字进行描述:

  1. DispatcherServelt 作为前端控制器,拦截所有的请求。
  2. DispatcherServlet 接收到 http 请求之后, 根据访问的路由以及 HandlerMapping,获取一个 HandlerExecutionChain 对象。
  3. DispatcherServlet 将 Handler 对象交由 HandlerAdapter,调用处理器 Controller 对应功能处理方法。
  4. HandlerAdapter 返回 ModelAndView 对象,DispatcherServlet 将 view 交由 ViewResolver 进行解析,得到相应的视图,并用 Model 对 View 进行渲染。
  5. 返回响应结果。

源码分析

源码部分我打算通过流程图的形式来分析,源代码部分还是根据流程图来一步步看会更好,否则会被陌生且复杂的源代码给搞混(欲哭无泪)。

DEBUG大法是真的好!