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.