SpringBoot —— Filter 過濾器\攔截器
阿新 • • 發佈:2022-04-16
SpringBoot——實現過濾器Filter
1、Filter過濾器
(1) 主要用來過濾使用者請求的,允許我們對使用者的請求進行前置處理和後置處理。面向切面程式設計AOP。
例如:實現URL級別的許可權控制、過濾非法請求等。
(2)Filter是依賴於Servlet容器(Filter介面在Servlet包下),增強版的servlet
(3)自定義Filter
方法一 : 1、實現javax.Servlet.Filter介面
2、重寫方法
init() 初始化
doFilter() 對請求進行過濾
destroy() 銷燬過濾器後自行的操作,對資源進行回收
3、建立配置類中註冊自定義的過濾器
方法二:@WebFilter()註解,進行引數配置
@ServletComponentScan
2、Filter介面如何實現攔截功能
(1)doFilter() 實現對使用者請求的過濾
(2)流程:
1、使用者傳送請求到web伺服器,請求先到過濾器
2、過濾器對請求進行一些處理(過濾請求引數、修改返回給客戶端的response內容、判斷是否讓使用者訪問該介面等)
3、使用者請求完畢
3、定義多個過濾器,決定過濾器執行順序
在配置類中呼叫FilterRegistrationBean.setOrder()方法進行決定。
filterRegistrationBean.setOrder(1); //1 表示先執行