Servlet 过滤器的过滤顺序是按照在 web.xml 文件中的声明顺序进行的。即先声明的过滤器先被执行,后声明的过滤器后执行。
当使用注释声明过滤地址时,可以使用 @WebFilter 注解或者在 web.xml 文件中使用 <servlet-mapping> 元素进行声明。在使用注解方式时,可以通过设置注解的 order 属性来指定过滤器的执行顺序,数值越小越先执行。如果没有指定 order 属性,则默认为 0。
在存在多个过滤器并且它们都声明了相同的过滤地址时,注释声明的顺序会覆盖 web.xml 文件中的声明顺序。即使用注解方式声明的过滤器会优先于 web.xml 文件中声明的过滤器被执行。
因此,可以通过合理地声明过滤器的顺序来控制过滤器的执行顺序,从而保证过滤器之间的协作和正确性。