shiro源码分析之-shiro工具-AntPathMatcher

406 阅读1分钟

是什么

AntPath是一种路径匹配规则,Ant是蚂蚁的意思,可以揣测为像蚂蚁一样一个一个的爬取匹配,是不是很形象(胡说八道)。很多web框架都在用这个,比如shiro-web和spring-web。 具体的匹配规则如下:

字符 描述
? 匹配一个字符
* 匹配一个目录
** 匹配0个或多个目录

怎么用

看完下面的示例代码你就知道怎么用了:

        AntPathMatcher matcher = new AntPathMatcher();
        System.out.println("是否匹配:"+matcher.match("/api/?", "/api/d"));
        System.out.println("是否匹配:"+matcher.match("/api/?", "/api/dd/u"));
        System.out.println("是否匹配:"+matcher.match("/api/*", "/api/dd"));
        System.out.println("是否匹配:"+matcher.match("/api/*", "/api/dd/u"));
        System.out.println("是否匹配:"+matcher.match("/api/**", "/api/dd"));
        System.out.println("是否匹配:"+matcher.match("/api/**", "/api/dd/ud"));
        运行结果:
            是否匹配:true
            是否匹配:false
            是否匹配:true
            是否匹配:false
            是否匹配:true
            是否匹配:true

深入原理

有时间补充......