首页 > Java > AntPathMatcher 路径匹配

AntPathMatcher 路径匹配

公司项目使用 AntPathMatcher 路径匹配是否登陆,之前没有接触过,刚好趁这次机会学习了一番。

一、基本规则

1、? 匹配一个字符(除过操作系统默认的文件分隔符)
2、* 匹配0个或多个字符
3、** 匹配0个或多个目录
4、{spring:[a-z]+} 将正则表达式 [a-z]+ 匹配到的值,赋值给名为 spring 的路径变量

PS:必须是完全匹配才行,在 SpringMVC 中只有完全匹配才会进入 controller 层的方法

二、注意事项:

1、匹配文件路径,需要匹配某目录下及其各级子目录下所有的文件,使用 /**/* 而非 *.*,因为有的文件不一定含有文件后缀
2、匹配文件路径,使用 AntPathMatcher 创建一个对象时,需要注意 AntPathMatcher 也有有参构造,传递路径分隔符参数 pathSeparator,对于文件路径的匹配来说,可以根据不同的操作系统来传递各自的文件分隔符,以此防止匹配文件路径错误
3、最长匹配规则(has more characters),即越精确的模式越会被优先匹配到。例如,URL请求 /app/dir/file.jsp,现在存在两个路径匹配模式 /**/*.jsp 和 /app/dir/*.jsp,那么会根据模式 /app/dir/*.jsp 来匹配

三、实例

可以参考若依框架:com.ruoyi.gateway.filter.AuthFilter 和 com.ruoyi.gateway.filter.XssFilter

全文完,如果本文对您有所帮助,请花 1 秒钟帮忙点击一下广告,谢谢。

作 者: BridgeLi,https://www.bridgeli.cn
原文链接:http://www.bridgeli.cn/archives/742
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。
分类: Java 标签:
  1. 本文目前尚无任何评论.

请输入正确的验证码