spring拦截器

本文深入解析了Spring MVC中HandlerInterceptor的路径配置技巧,详细对比了**与*通配符的区别,以及如何使用addPathPatterns和excludePathPatterns方法精确控制拦截器的路径匹配,确保了Web应用的安全性和灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

registry.addInterceptor(new LogInterceptor()).addPathPatterns("/api/**").excludePathPatterns("/api/iv3/**");

添加HandlerInterceptor后添加匹配路径:

1.**和*的区别

**可以匹配多层路径,而*只能匹配单层路径

2.一种方式:.addPathPatterns("/api/**").excludePathPatterns("/api/iv3/**")

addPathPatterns和excludePathPatterns的源代码

两个方式是在两个分别的list里记录下来了要拦截和除开拦截的路径。

在匹配拦截的时候:

 

匹配路径拦截的方法

如果符合所有的exclude路径,则直接返回false不进行拦截,然后再分别去看是否符合需要拦截的路径,有一符合则为true。

3.第二种方式:

 

并行添加拦截器

 

addInterceptor方法:

所以这种相当于添加了两个拦截器,所以是会判断两次来拦截的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值