PathMatcher作为一个路径匹配器,在springMVC中运用十分广泛.通过相应的url如何定位的相应的controller就需要用到PathMatcher进行匹配,当然spring中这个路径匹配规则都是
Ant分风格。这是PathMatcher源码的内容,介绍了PathMatcher用处。
Used by {@link org.springframework.core.io.support.PathMatchingResourcePatternResolver},
{@link org.springframework.web.servlet.handler.AbstractUrlHandlerMapping},
{@link org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver},
and {@link org.springframework.web.servlet.mvc.WebContentInterceptor}.
ANT方式的通配符有三种:
?(匹配任何单字符),*(匹配0或者任意数量的字符),**(匹配0或者更多的目录)。
PathMatcher
boolean isPattern(String path);//判断传入的path是否可以作为pattern使用
boolean match(String pattern, String path);//使用pattern匹配path
boolean matchStart(String pattern, String path);//使用pattern匹配path开始部分
String extractPathWithinPattern(String pattern, String path);//获取占位符匹配的内容
For example: For "myroot/*.html" as pattern and "myroot/myfile.html"
as full path, this method should return "myfile.html".
Map<String, String> extractUriTemplateVariables(String pattern, String path);//根据路径匹配参数,也就是获取路径传参的值.
<p>For example: For pattern "/hotels/{hotel}" and path "/hotels/1", this method will
return a map containing "hotel"->"1".
String combine(String pattern1, String pattern2);//Combines two patterns into a new pattern that is returned.
下面我们来重点看看PathMatcher的实现类AntPathMatcher: