我們使用@WebFilter注解的時候發現注解里面沒有提供可以控制執行順序的參數
@WebFilter 的屬性
| 屬性名 | 類型 | 描述 |
|---|---|---|
| filterName | String | 指定過濾器的 name 屬性,等價於 <filter-name> |
| value | String[] | 該屬性等價於 urlPatterns 屬性。但是兩者不應該同時使用。 |
| urlPatterns | String[] | 指定一組過濾器的 URL 匹配模式。等價於 <url-pattern> 標簽。 |
| servletNames | String[] | 指定過濾器將應用於哪些 Servlet。取值是 @WebServlet 中的 name 屬性的取值,或者是 web.xml 中 <servlet-name> 的取值。 |
| dispatcherTypes | DispatcherType | 指定過濾器的轉發模式。具體取值包括: ASYNC、ERROR、FORWARD、INCLUDE、REQUEST。 |
| initParams | WebInitParam[] | 指定一組過濾器初始化參數,等價於 <init-param> 標簽。 |
| asyncSupported | boolean | 聲明過濾器是否支持異步操作模式,等價於 <async-supported> 標簽。 |
| description | String | 該過濾器的描述信息,等價於 <description> 標簽。 |
| displayName | String | 該過濾器的顯示名,通常配合工具使用,等價於 <display-name> 標簽。 |
通過實踐發現如果想要控制filer的執行順序可以 @order來控制
@Order中的value越小,優先級越高。
