java匹配规则_Spring之Interceptor之path patterns路径匹配规则

Spring之Interceptor之path patterns路径匹配规则

一、简单而言:

一个*:只匹配字符,不匹配路径(/)

两个**:匹配字符,和路径(/)

二、详细及更多:

public class AntPathMatcher

extends java.lang.Object

implements PathMatcher

PathMatcher implementation for Ant-style path patterns.

Part of this mapping code has been kindly borrowed from Apache Ant.

The mapping matches URLs using the following rules:

? matches one character

* matches zero or more characters

** matches zero or more directories in a path

{spring:[a-z]+} matches the regexp [a-z]+ as a path variable named "spring"

Examples

com/t?st.jsp — matches com/test.jsp but also com/tast.jsp or com/txst.jsp

com/*.jsp — matches all .jsp files in the com directory

com/**/test.jsp — matches all test.jsp files underneath the com path

org/springframework/**/*.jsp — matches all .jsp files underneath the org/springframework path

org/**/servlet/bla.jsp — matches org/springframework/servlet/bla.jsp but also org/springframework/testing/servlet/bla.jsp and org/servlet/bla.jsp

com/{filename:\w+}.jsp will match com/test.jsp and assign the value test to the filename variable

Note: a pattern and a path must both be absolute or must both be relative in order for the two to match. Therefore it is recommended that users of this implementation to sanitize patterns in order to prefix them with "/" as it makes sense in the context in which they're used.

三、例子:

@Configuration

@EnableWebMvc

public class WebConfig extends WebMvcConfigurerAdapter {

/**

- /**: 匹配所有路径

- /admin/**:匹配 /admin/ 下的所有路径

- /secure/*:只匹配 /secure/user,不匹配 /secure/user/info

*/

@Override

public void addInterceptors(InterceptorRegistry registry) {

registry.addInterceptor(new LocaleInterceptor());

registry.addInterceptor(new ThemeInterceptor())

.addPathPatterns("/**")

.excludePathPatterns("/admin/**");

registry.addInterceptor(new SecurityInterceptor())

.addPathPatterns("/secure/*", "/admin/**", "/profile/**");

}

}

引用:

1.

https://stackoverflow.com/questions/48306597/spring-mvc-interceptor-pattern

2.

https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/util/AntPathMatcher.html

-

分享到:

sina.jpg

tec.jpg

10 小时前

浏览 7

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值