黑马程序员技术交流社区

标题: 【长沙校区】SpringMVC执行流程—源码解析 [打印本页]

作者: 长沙-小知姐姐    时间: 2019-1-2 10:02
标题: 【长沙校区】SpringMVC执行流程—源码解析
本帖最后由 长沙-小知姐姐 于 2019-1-3 09:25 编辑



Java , 前端全网资源链接 : 【长沙校区】集合Java,前端所有基础入门,重点问题一览帖



案例

springMVC作为现在使用非常广泛的MVC框架,大家对他的执行流程还是要有一个基本的了解,本次执行流程的源码解析,采用一个简单的请求:请求一个url,给页面返回一个success,如下:


源码跟踪


使用springMVC框架搭建项目的时候,需要配置一个前端控制器,用来拦截请求,这也是框架的核心控制器,如下:



符合拦截规则的请求被拦截后,将会进入到核心控制器的doDispatch方法中,如下:


整个执行顺序,就是在此方法内部展开。


处理器映射器


程序在进入方法后第一阶段就会到第一个组件:处理器映射器,如下



该拦截器具体的执行步骤如下



可以看出,首先还是获取所有的拦截器,然后按照倒叙(循环是从一个大数到0的顺序)执行每个拦截器的postHandle方法

处理视图


处理视图,如下



可以看出这个拦截器的执行顺序是在试图完成转发以后做的操作,这个方法的主要作用可以用来进行资源清理等工作。

总结


springMVC的执行流程的源码解析还是挺简单的,打着断点一步步往下走,基本可以弄清楚框架的执行流程,总结来,可由一张图概括,如下(选自网络)



作者: 一个人一座城0.0    时间: 2019-1-2 11:28
看一看。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2