servlet3.0 @webfilter 过滤顺序

Posted 规格严格-功夫到家-哈工大威海人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的类名来控制的,按自然排序的规则。

以上是关于servlet3.0 @webfilter 过滤顺序的主要内容,如果未能解决你的问题,请参考以下文章

Servlet3.0学习总结——使用注解标注过滤器(Filter)

Servlet3.0新特性

@WebFilter 不同类型的不同初始化参数

过滤器的使用

@WebFilter("")配置servlet访问出现404的原因

spring boot webfilter 顺序