SpringMVC源码分析 - DispatcherServlet请求处理过程
概要
这张图在网上搜到的,但是实际的来源处实在找不到了,如果后面找到一定补上链接。
上图的流程可用以下文字进行描述:
- DispatcherServelt 作为前端控制器,拦截所有的请求。
- DispatcherServlet 接收到 http 请求之后, 根据访问的路由以及 HandlerMapping,获取一个 HandlerExecutionChain 对象。
- DispatcherServlet 将 Handler 对象交由 HandlerAdapter,调用处理器 Controller 对应功能处理方法。
- HandlerAdapter 返回 ModelAndView 对象,DispatcherServlet 将 view 交由 ViewResolver 进行解析,得到相应的视图,并用 Model 对 View 进行渲染。
- 返回响应结果。
源码分析
源码部分我打算通过流程图的形式来分析,源代码部分还是根据流程图来一步步看会更好,否则会被陌生且复杂的源代码给搞混(欲哭无泪)。
DEBUG大法是真的好!