A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 长沙-小知姐姐 于 2019-1-3 09:25 编辑






案例

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


源码跟踪


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



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


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


处理器映射器


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



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



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

处理视图


处理视图,如下



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

总结


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


1 个回复

倒序浏览
看一看。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马