拦截器是针对Mapping的。可以在Mapping下配置对应的拦截的。由于常用mvc:annotation-driven配置Mapping和Adapter,所以这里用mvc:interceptors配置拦截器。
1、单个mapping的拦截器
a、定义拦截器。
实现拦截器接口。
b、配置拦截器
拦截queryUser.action,特定某个(queryUser.action)
c、controller
d、测试,控制台显示
2、多个拦截器
按配置顺序执行。
a、增加拦截器
b、配置
1在前,2在后
c、控制台
preHandle按照拦截器顺序执行postHandle和afterCompletion按照相反顺序进行。
d、模拟拦截器不放行。
将拦截器2,设置不放行。
测试结果。
拦截器2拦截后,拦截器2方法postHandle和afterCompletion都没有执行,拦截器1,执行了afterCompletion。
只要一个拦截器不放行 ,postHandle都不会放行。
两拦截器都不放行。
只执行了1的preHandle。
3、类似全局拦截器。
重点:注意配置路径和理解拦截器的顺序。
时间: 2024-12-25 07:21:00