spring的AntPathMatcher用来匹配url比较好用,该类的部分代码借鉴与apache ant故命名为AntPathMatcher,
The mapping matches URLs using the following rules:
匹配url遵循如下规则:
?
matches one character(匹配一个字符)*
matches zero or more characters(匹配0个或多个字符)**
matches zero or more directories in a path(匹配0个或多个目录)- {spring:[a-z]+}} matches the regexp
[a-z]+
as a path variable named "spring",意思是将使用[a-z]+
正则去匹配spring的变量值
栗子:
com/t?st.jsp
— matchescom/test.jsp
but alsocom/tast.jsp
orcom/txst.jsp
com/*.jsp
— matches all.jsp
files in thecom
directorycom/**/test.jsp
— matches alltest.jsp
files underneath thecom
pathorg/springframework/**/*.jsp
— matches all.jsp
files underneath theorg/springframework
pathorg/**/servlet/bla.jsp
— matchesorg/springframework/servlet/bla.jsp
but alsoorg/springframework/testing/servlet/bla.jsp
andorg/servlet/bla.jsp
- com/{filename:\\w+}.jsp} will match
com/test.jsp
and assign the valuetest
to thefilename
variable
注意的是:
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.