AntPathMatcher做路径匹配

转发自: http://www.cnblogs.com/leftthen/p/5212221.html

需要看详细的请看上面的链接

这里以我这里的一个Filter 中需要对路径做例外处理,filter配置如下

<bean id="adminOnlineUserFilter" class="com.midea.finance.framework.authority.filter.AdminOnlineUserFilter">
        <property name="mdpOnllineUserService" ref="mdpOnllineUserDubboServiceClient"></property>
        <property name="logoutLink" value="${mdp.security.loginOutUrl}"></property>
        <property name="sysFlag" value="${bizSys}"></property>
        <property name="passedPaths">
            <list>
                <value>/resources/**</value>
            </list>
        </property>
    </bean>

这里的 

passedPaths 是例外配置的路径,接收为一个 Stirng []
对例外的处理
String requestPath = req.getServletPath();
            // 路径过滤
            PathMatcher matcher = new AntPathMatcher();
            if( passedPaths != null ) {
                boolean flag;
                for( String passedPath : passedPaths ) {
                    flag = matcher.match( passedPath, requestPath );
                    if( flag ) {
                        logger.info( "AdminOnlineUserFilter source '" + requestPath + "'is matched,filter chain will be continued." );
                        chain.doFilter( request, response );
                        return;
                    }
                }
            }
原文地址:https://www.cnblogs.com/yun965861480/p/7436039.html