zoukankan      html  css  js  c++  java
  • springmvc之PathMatcher路径匹配

     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:

           



  • 相关阅读:
    基于接口而非实现编程 和 依赖注入
    程序出错该返回啥?
    js关于for循环实现线程休眠效果的问题
    预祝1024节日快乐!
    20201101_Python的虚拟环境问题
    机器学习——dbscan密度聚类
    公司里使用gitlab管理项目
    MYSQL集群MHA架构实现手册
    vbox导入虚拟电脑网卡MAC问题,MacOS 通过virtualbox安装的centos7虚拟机不能上网解决
    MySQL误操作后如何快速回滚(转)
  • 原文地址:https://www.cnblogs.com/caibixiang123/p/8637603.html
Copyright © 2011-2022 走看看