過濾器Filter是Servlet的一個技術,可通過過濾器對請求進行攔截,比如讀取session判斷用戶是否登錄、判斷訪問的請求URL是否有權限。
1、使用@WebFilter注解
controller
filter
過濾攔截:
3、啟動類上加注解@ServletComponentScan
2、多個filter
filter1:
filter2:
同 filter1
confiiguration:
多個過濾器指定順序兩種方式:
1、FilterRegistrationBean
是springboot
提供的,此類提供setOrder方法,可以為filter設置排序值,讓spring在注冊web filter之前排序后再依次注冊。
2、通過過濾器的名字,進行順序的約定,比如LogFilter
和AuthFilter
,此時AuthFilter
就會比LogFilter
先執行,因為首字母A
比L
前面。
多個過濾器器時,filterChain.doFilter(servletRequest, servletResponse); 遞歸執行。
參考:http://www.importnew.com/29401.html