javaweb專案,過濾器的配置方式是註解@WebFilter時,過濾鏈filter執行順序的控制方法!
阿新 • • 發佈:2018-12-16
當過濾器用web.xml配置時,控制多個filter的執行順序是通過web.xml中控制filter的位置來控制的,放在上面的會比放在下面的先執行,如“使用者登入檢查過濾器”會比“介面日誌過濾器”先執行,這種方式一搜一大堆。
用@WebFilter註解的時候發現註解裡面沒有提供可以控制執行順序的引數,如圖(來源:慕課):
重點:這種情況下,想要控制filer的執行順序可以通過控制filter的檔名來控制,即
[email protected]註解方式——過濾器鏈的執行順序
執行順序和類名字元排序有關!
如:Filter1.java 和 Filter2.java
又如:
UserLoginFilter.java 和 ApiLog.java 這兩個檔案裡面分別是“使用者登入檢查過濾器”和“介面日誌過濾器”,因為這兩個檔案的 首字母A排U之前 ,導致每次執行的時候都是先執行“介面日誌過濾器”再執行“使用者登入檢查過濾器”,所以我們現在修改兩個檔案的名稱分別為
Filter0_UserLogin.java
Filter1_ApiLog.java
這樣就能先執行“使用者登入檢查過濾器”再執行“介面日誌過濾器”
參考:https://blog.csdn.net/LiMing_0820/article/details/53332070 ,慕課 等等,謝謝!