栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringMVC多个拦截器处理顺序的问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringMVC多个拦截器处理顺序的问题

在SpringMVC中配置多个拦截器时候

执行顺序如下所示

但是为什么是这样呢?

这就需要查看源码了,先布置断点

然后debug运行,点击 testInterceptor

 

 后台显示如下

DispatchServelet处理请求主要是doDispatch方法,点进该方法

 

 红线部分是处理拦截器的preHandle方法

点开进入

 

 这里我们可以清楚的看到多个拦截器时候,拦截器数据是放在interceptorList中,从0开始往上走,也就是从配置顺序的从前到后,这里注意我们配置了两个拦截器,但是这里的interceptorList.size是3,也就是说有四个拦截器,里面包含了两个SpringMVC默认的拦截器

接下来我们看蓝线部分,这里是处理PostHandle方法

 这里是从interceptorList.size开始递减的,也就是从配置顺序的从后到前

然后我们接着往后看,这里黄线部分是处理afterCompletion方法的

我们点进去

接着走

 

 熟悉的一幕

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/737105.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号