Filter須要配置多個url-pattern

最近作項目遇到一個Filter須要配置多個url-pattern,上網查了下資料,經測試,現總結下 web

 

filter-mapping元素位於web.xml文件中filter元素以後serlvet元素以前。它包含以下三個可能的子元素。filter-name 這個必需的元素必須與用filter元素聲明時給予過濾器的名稱相匹配。url-pattern 此元素聲明一個以斜槓(/)開始的模式,它指定過濾器應用的URL。全部filter-mapping元素中必須提供url-pattern或 servlet-name。但不能對單個filter-mapping元素提供多個url-pattern元素項。若是但願過濾器適用於多個模式,可重複整個filter-mapping元素。app


1、徹底錯誤的方式 測試

<filter>  
    <filter-name>authority</filter-name>  
    <filter-class>com.util.AuthorityFilter</filter-class>  
</filter>  
<filter-mapping>  
    <filter-name>authority</filter-name>  
    <url-pattern>/pages/cmm/*;/pages/genbill/*</url-pattern>  
</filter-mapping>

2、有必定做用,但不能實現須要的效果,只會過濾最下面配置的url-pattern。 url

<filter>  
    <filter-name>authority</filter-name>  
    <filter-class>com.util.AuthorityFilter</filter-class>  
</filter>  
<filter-mapping>  
    <filter-name>authority</filter-name>  
    <url-pattern>/pages/cmm/*</url-pattern>  
       <url-pattern>/pages/genbill/*</url-pattern>  
</filter-mapping>  

3、如今給出正確的配置方式 spa

<filter>  
    <filter-name>authority</filter-name>  
    <filter-class>com.util.AuthorityFilter</filter-class>  
</filter>  
<filter-mapping>  
    <filter-name>authority</filter-name>  
       <url-pattern>/pages/genbill/*</url-pattern>  
</filter-mapping>  
<filter-mapping>  
    <filter-name>authority</filter-name>  
    <url-pattern>/pages/cmm/*</url-pattern>  
</filter-mapping>  
相關文章
相關標籤/搜索