servlet3.0 @webfilter 过滤顺序

Servlet3.0之前Filter过滤的顺序是由用户在web.xml中配置的顺序决定的,如下会先执行encodingFilter,再执行filter1.

 

  1. <filter>  
  2.     <display-name>encodingFilter</display-name>  
  3.     <filter-name>EncodingFilter</filter-name>  
  4.     <filter-class>com.saber.domain.EncodingFilter</filter-class>  
  5. </filter>  
  6.   
  7. <filter-mapping>  
  8.   <filter-name>encodingFilter</filter-name>  
  9.   <url-pattern>/*</url-pattern>  
  10. </filter-mapping>  
  11. <filter>  
  12.     <display-name>filter1</display-name>  
  13.     <filter-name>filter1</filter-name>  
  14.     <filter-class>com.saber.domain.Filter1</filter-class>  
  15. </filter>  
  16.   
  17. <filter-mapping>  
  18.   <filter-name><span style="font-family: Arial, Helvetica, sans-serif;">filter1</span><span style="font-family: Arial, Helvetica, sans-serif;"></filter-name></span>  
  19.   <url-pattern>/*</url-pattern>  
  20. </filter-mapping>  

 

在3.0之后新增@WebFilter注解,当使用注解配置多个Filter时,用户无法控制其执行顺序,此时Filter过滤的顺序是按照Filter的类名来控制的,按自然排序的规则。

posted @ 2017-09-03 10:28  规格严格-功夫到家  阅读(987)  评论(0)    收藏  举报