• Filter需要配置多个url-pattern


    最近做项目遇到一个Filter需要配置多个url-pattern,上网查了下资料,经测试,现总结下 

    filter-mapping元素位于web.xml文件中filter元素之后serlvet元素之前。它包含如下三个可能的子元素。filter-name 这个必需的元素必须与用filter元素声明时给予过滤器的名称相匹配。url-pattern 此元素声明一个以斜杠(/)开始的模式,它指定过滤器应用的URL。所有filter-mapping元素中必须提供url-pattern或 servlet-name。但不能对单个filter-mapping元素提供多个url-pattern元素项。如果希望过滤器适用于多个模式,可重复整个filter-mapping元素。


    一、完全错误的方式 

    Java代码  收藏代码
    1. <filter>  
    2.     <filter-name>authority</filter-name>  
    3.     <filter-class>com.util.AuthorityFilter</filter-class>  
    4. </filter>  
    5. <filter-mapping>  
    6.     <filter-name>authority</filter-name>  
    7.     <url-pattern>/pages/cmm/*;/pages/genbill/*</url-pattern>  
    8. </filter-mapping>  


    二、有一定作用,但不能实现需要的效果,只会过滤最下面配置的url-pattern。 

    Java代码  收藏代码
    1. <filter>  
    2.     <filter-name>authority</filter-name>  
    3.     <filter-class>com.util.AuthorityFilter</filter-class>  
    4. </filter>  
    5. <filter-mapping>  
    6.     <filter-name>authority</filter-name>  
    7.     <url-pattern>/pages/cmm/*</url-pattern>  
    8.        <url-pattern>/pages/genbill/*</url-pattern>  
    9. </filter-mapping>  


    三、现在给出正确的配置方式 

    Java代码  收藏代码
    1. <filter>  
    2.     <filter-name>authority</filter-name>  
    3.     <filter-class>com.util.AuthorityFilter</filter-class>  
    4. </filter>  
    5. <filter-mapping>  
    6.     <filter-name>authority</filter-name>  
    7.        <url-pattern>/pages/genbill/*</url-pattern>  
    8. </filter-mapping>  
    9. <filter-mapping>  
    10.     <filter-name>authority</filter-name>  
    11.     <url-pattern>/pages/cmm/*</url-pattern>  
    12. </filter-mapping>  

    原博文

  • 相关阅读:
    list for循环中删除元素
    XMLFeedSpider例子
    myeclipse一直卡在loading workbench解决方法
    代码
    在Github上面搭建Hexo博客(一):部署到Github
    RegEX正则表达式截取字符串
    将后台值传单前台js接收
    C# List<T>泛型用法
    基于jQuery——TreeGrid
    在线编程学习网站
  • 原文地址:https://www.cnblogs.com/luhuimin/p/3570974.html
Copyright © 2020-2023  润新知