Filter和Listener-学习笔记02【Filter细节】
- Java后端 學習路線 筆記匯總表【黑馬程序員】
目錄
第2節 Filter細節
Filter_細節_web.xml配置方式
過濾器細節1——web.xml配置
WebFilter 源碼
Filter_細節_執行流程&生命周期
過濾器細節2——過濾器執行流程
過濾器細節3——過濾器生命周期方法
Filter_細節_過濾器攔截路徑配置
過濾器細節4——過濾器配置詳解
Filter_細節_過濾器攔截方式配置
Filter_細節_過濾器鏈(多個過濾器)
第2節 Filter細節
Filter_細節_web.xml配置方式
Filter:過濾器
1. 概念:
?? ?* 生活中的過濾器:凈水器、空氣凈化器、土匪。
?? ?* web中的過濾器:當訪問服務器的資源時,過濾器可以將請求攔截下來,完成一些特殊的功能。
?? ?* 過濾器的作用:
?? ??? ?* 一般用于完成通用的操作。如:登錄驗證、統一編碼處理、敏感字符過濾 ...
2. 快速入門:
?? ?1. 步驟:
?? ??? ?1. 定義一個類,實現接口Filter
?? ??? ?2. 復寫方法
?? ??? ?3. 配置攔截路徑
?? ??? ??? ?1. web.xml
?? ??? ??? ?2. 注解
?? ?2. 代碼:...
3. 過濾器細節:
?? ?1. web.xml配置
?? ??? ?<filter>
?? ? ? ? ? ?<filter-name>demo1</filter-name>
?? ? ? ? ? ?<filter-class>cn.itcast.web.filter.FilterDemo1</filter-class>
?? ? ? ?</filter>
?? ? ? ?<filter-mapping>
?? ? ? ? ? ?<filter-name>demo1</filter-name>
?? ??? ??? ?<!-- 攔截路徑 -->
?? ? ? ? ? ?<url-pattern>/*</url-pattern>
?? ? ? ?</filter-mapping>
?? ?2. 過濾器執行流程
?? ?3. 過濾器生命周期方法
?? ?4. 過濾器配置詳解
過濾器細節1——web.xml配置
WebFilter 源碼
??
Filter_細節_執行流程&生命周期
過濾器細節2——過濾器執行流程
過濾器執行流程
??
過濾器細節3——過濾器生命周期方法
過濾器生命周期方法
Filter_細節_過濾器攔截路徑配置
過濾器細節4——過濾器配置詳解
過濾器配置詳解
?? ??? ?* 攔截路徑配置:
?? ??? ??? ?1. 具體資源路徑:/index.jsp(只有訪問index.jsp資源時,過濾器才會被執行)
?? ??? ??? ?2. 攔截目錄:/user/*(訪問/user下的所有資源時,過濾器都會被執行)
?? ??? ??? ?3. 后綴名攔截:*.jsp(訪問所有后綴名為jsp資源時,過濾器都會被執行)
?? ??? ??? ?4. 攔截所有資源:/*(訪問所有資源時,過濾器都會被執行)
?? ??? ?* 攔截方式配置
攔截路徑配置1:具體資源路徑:/index.jsp(只有訪問index.jsp資源時,過濾器才會被執行)
攔截路徑配置2:/user/*(訪問/user下的所有資源時,過濾器都會被執行)
攔截路徑配置3:*.jsp(訪問所有后綴名為jsp資源時,過濾器都會被執行)
Filter_細節_過濾器攔截方式配置
過濾器配置詳解
? ? * 攔截路徑配置:
?? ??? ??? ?1. 具體資源路徑:/index.jsp(只有訪問index.jsp資源時,過濾器才會被執行)
?? ??? ??? ?2. 攔截目錄:/user/*(訪問/user下的所有資源時,過濾器都會被執行)
?? ??? ??? ?3. 后綴名攔截:*.jsp(訪問所有后綴名為jsp資源時,過濾器都會被執行)
?? ??? ??? ?4. 攔截所有資源:/*(訪問所有資源時,過濾器都會被執行)
? ? * 攔截方式配置:資源被訪問的方式。
?? ??? ??? ?* 注解配置:
?? ??? ??? ??? ?* 設置dispatcherTypes屬性
?? ??? ??? ??? ??? ?1. REQUEST:默認值。瀏覽器直接請求資源
?? ??? ??? ??? ??? ?2. FORWARD:轉發訪問資源
?? ??? ??? ??? ??? ?3. INCLUDE:包含訪問資源
?? ??? ??? ??? ??? ?4. ERROR:錯誤跳轉資源
?? ??? ??? ??? ??? ?5. ASYNC:異步訪問資源
?? ??? ??? ?* web.xml配置
?? ??? ??? ??? ?* 設置<dispatcher></dispatcher>標簽即可
web.xml配置,設置<dispatcher></dispatcher>標簽即可。
Filter_細節_過濾器鏈(多個過濾器)
Filter:過濾器
1. 概念:
?? ?* 生活中的過濾器:凈水器、空氣凈化器、土匪。
?? ?* web中的過濾器:當訪問服務器的資源時,過濾器可以將請求攔截下來,完成一些特殊的功能。
?? ?* 過濾器的作用:
?? ??? ?* 一般用于完成通用的操作。如:登錄驗證、統一編碼處理、敏感字符過濾 ...
2. 快速入門:
?? ?1. 步驟:
?? ??? ?1. 定義一個類,實現接口Filter
?? ??? ?2. 復寫方法
?? ??? ?3. 配置攔截路徑
?? ??? ??? ?1. web.xml
?? ??? ??? ?2. 注解
?? ?2. 代碼:...
3. 過濾器細節:
?? ?1. web.xml配置?? ?
?? ??? ?<filter>
?? ? ? ? ? ?<filter-name>demo1</filter-name>
?? ? ? ? ? ?<filter-class>cn.itcast.web.filter.FilterDemo1</filter-class>
?? ? ? ?</filter>
?? ? ? ?<filter-mapping>
?? ? ? ? ? ?<filter-name>demo1</filter-name>
?? ??? ??? ?<!-- 攔截路徑 -->
?? ? ? ? ? ?<url-pattern>/*</url-pattern>
?? ? ? ?</filter-mapping>
?? ?2. 過濾器執行流程
?? ??? ?1. 執行過濾器
?? ??? ?2. 執行放行后的資源
?? ??? ?3. 回來執行過濾器放行代碼下邊的代碼
?? ?3. 過濾器生命周期方法
?? ??? ?1. init:在服務器啟動后,會創建Filter對象,然后調用init方法。只執行一次。用于加載資源
?? ??? ?2. doFilter:每一次請求被攔截資源時,會執行。執行多次
?? ??? ?3. destroy:在服務器關閉后,Filter對象被銷毀。如果服務器是正常關閉,則會執行destroy方法。只執行一次。用于釋放資源
?? ?4. 過濾器配置詳解
?? ??? ?* 攔截路徑配置:
?? ??? ??? ?1. 具體資源路徑:/index.jsp(只有訪問index.jsp資源時,過濾器才會被執行)
?? ??? ??? ?2. 攔截目錄:/user/*(訪問/user下的所有資源時,過濾器都會被執行)
?? ??? ??? ?3. 后綴名攔截:*.jsp(訪問所有后綴名為jsp資源時,過濾器都會被執行)
?? ??? ??? ?4. 攔截所有資源:/*(訪問所有資源時,過濾器都會被執行)
?? ??? ?* 攔截方式配置:資源被訪問的方式。
?? ??? ??? ?* 注解配置:
?? ??? ??? ??? ?* 設置dispatcherTypes屬性
?? ??? ??? ??? ??? ?1. REQUEST:默認值。瀏覽器直接請求資源
?? ??? ??? ??? ??? ?2. FORWARD:轉發訪問資源
?? ??? ??? ??? ??? ?3. INCLUDE:包含訪問資源
?? ??? ??? ??? ??? ?4. ERROR:錯誤跳轉資源
?? ??? ??? ??? ??? ?5. ASYNC:異步訪問資源
?? ??? ??? ?* web.xml配置
?? ??? ??? ??? ?* 設置<dispatcher></dispatcher>標簽即可
?? ?5. 過濾器鏈(配置多個過濾器)
?? ??? ?* 執行順序:如果有兩個過濾器:過濾器1和過濾器2
?? ??? ??? ?1. 過濾器1
?? ??? ??? ?2. 過濾器2
?? ??? ??? ?3. 資源執行
?? ??? ??? ?4. 過濾器2
?? ??? ??? ?5. 過濾器1
?? ??? ?* 過濾器先后順序問題:
?? ??? ??? ?1. 注解配置:按照類名的字符串比較規則比較,值小的先執行
?? ??? ??? ??? ?* 如: AFilter 和 BFilter,AFilter就先執行了。
?? ??? ??? ?2. web.xml配置: <filter-mapping>誰定義在上邊,誰先執行
4. 案例:...
總結
以上是生活随笔為你收集整理的Filter和Listener-学习笔记02【Filter细节】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数学建模:马王堆一号入墓年代的测定问题
- 下一篇: Filter和Listener-学习笔记