本帖最后由 长沙-小知姐姐 于 2019-1-3 09:25 编辑
案例
springMVC作为现在使用非常广泛的MVC框架,大家对他的执行流程还是要有一个基本的了解,本次执行流程的源码解析,采用一个简单的请求:请求一个url,给页面返回一个success,如下:
源码跟踪
使用springMVC框架搭建项目的时候,需要配置一个前端控制器,用来拦截请求,这也是框架的核心控制器,如下:
符合拦截规则的请求被拦截后,将会进入到核心控制器的doDispatch方法中,如下:
整个执行顺序,就是在此方法内部展开。
处理器映射器
程序在进入方法后第一阶段就会到第一个组件:处理器映射器,如下
该拦截器具体的执行步骤如下
可以看出,首先还是获取所有的拦截器,然后按照倒叙(循环是从一个大数到0的顺序)执行每个拦截器的postHandle方法
处理视图
处理视图,如下
可以看出这个拦截器的执行顺序是在试图完成转发以后做的操作,这个方法的主要作用可以用来进行资源清理等工作。
总结
springMVC的执行流程的源码解析还是挺简单的,打着断点一步步往下走,基本可以弄清楚框架的执行流程,总结来,可由一张图概括,如下(选自网络)
|