註解方式@WebFilter控制做個 filter的執行順序

之前我們控制多個filter的執行順序是通過web.xml中控制filter的位置來控制的,放在上面的會比放在下面的先執行,如下“用戶登錄檢查過濾器”會比“接口日誌過濾器”先執行

	<!-- 用戶登錄檢測過濾器 -->
		<filter>
		 <filter-name>UserLoginFilter</filter-name>
			 <filter-class>net.tfgzs.demo.filter.UserLoginFilter</filter-class>
		</filter>
		<filter-mapping>
			 <filter-name>UserLoginFilter</filter-name>
			 <url-pattern>/*</url-pattern>
		</filter-mapping>
		<!--接口日誌過濾器-->
	<filter>
		<filter-name>ApiLog</filter-name>
		<filter-class>net.tfgzs.demo.filter.ApiLog</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>ApiLog</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

但是當我們使用@WebFilter註解的時候發現註解裏面沒有提供可以控制執行順序的參數

@WebFilter 的屬性
在這裏插入圖片描述
通過實踐發現如果想要控制filer的執行順序可以 通過控制filter的文件名 來控制

比如:

UserLoginFilter.java 和 ApiLog.java 這兩個文件裏面分別是“用戶登錄檢查過濾器”和“接口日誌過濾器”,因爲這兩個文件的 首字母A排U之前 ,導致每次執行的時候都是先執行“接口日誌過濾器”再執行“用戶登錄檢查過濾器”,所以我們現在修改兩個文件的名稱分別爲

Filter0_UserLogin.java

Filter1_ApiLog.java

這樣就能先執行“用戶登錄檢查過濾器”再執行“接口日誌過濾器”

原文鏈接:https://blog.csdn.net/LiMing_0820/article/details/53332070

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章