1. 程式人生 > >javaweb專案,過濾器的配置方式是註解@WebFilter時,過濾鏈filter執行順序的控制方法!

javaweb專案,過濾器的配置方式是註解@WebFilter時,過濾鏈filter執行順序的控制方法!

      當過濾器用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 ,慕課 等等,謝謝!