過濾器的使用場景:
1.登錄驗證
將登錄驗證寫在filter中驗證是否已經登錄
2.字符編碼過濾
在spring框架中有一個專門的字符編碼過濾器
3.servlet+filter+反射技術+抽象類+繼承---------->簡化servlet
通過filter攔截請求,然後轉發到對應的servlet,通過反射技術,調用對應的方法,然後根據返回值,進行不同的跳轉(客戶端跳轉,打印字符串,服務端跳轉)。
使用filter時遇到的問題:
1.如果有多個過濾器,如何判斷執行的順序
- 第一:多個filter會依次運行,按照:過濾器1->過濾器2->過濾器3->程序->過濾器3->過濾器2->過濾器1 的順序運行
- 第二:多個filter的順序是由<filter-mapping>的先後決定的