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:

 

 

 

 

       

 

 

 

 

 

 

 



posted on 2018-03-24 10:22  蔡苗  阅读(3663)  评论(0编辑  收藏  举报