網站首頁 編程語言 正文
目錄
一.Filter過濾器
1.什么是Filter過濾器
2.Filter過濾器的基本使用
3.Filter的生命周期
4.FilterConfig類
?5.FilterChain過濾器鏈
?6.Filter的攔截路徑
二.Listen監聽器
1.什么是Listen監聽器
2.ServletcontextListener
一.Filter過濾器
1.什么是Filter過濾器
1、Filter過濾器它是JavaWeb的三大組件之一。三大組件分別是:Servlet程序、Listener監聽器、Filter過濾器
2、Filter過濾器它是JavaEE 的規范。也就是接口
3、Filter過濾器它的作用是:攔截請求,過濾響應。
????????攔截請求常見的應用場景有:
????????1、權限檢查
????????2、日記操作
????????3、事務管理
2.Filter過濾器的基本使用
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Filter過濾器的工作原理
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Filter過濾器的xml配置
? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Filter過濾器的代碼實現
?
Filter過濾器的使用步驟:
1、編寫一個類去實現Filter接口
2、實現過濾方法doFilter()
3、到 web.xml中去配置Filter的攔截路徑
3.Filter的生命周期
Filter的生命周期包含幾個方法
1、構造器方法
2、init初始化方法
第1,2步,在web工程啟動的時候執行( Filter已經創建)
3、doFilter過濾方法
第3步,每次攔截到請求,就會執行
4、destroy銷毀
第4步,停止 web工程的時候,就會執行(停止web工程,也會銷毀Filter過濾器)
?
4.FilterConfig類
FilterConfig類見名知義,它是Filter過濾器的配置文件類。
Tomcat每次創建 Filter的時候,也會同時創建一個FilterConfig類,這里包含了Filter配置文件的配置信息。
?5.FilterChain過濾器鏈
FilterChain就是過濾器鏈(多個過濾器如何一起工作)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 工作原理
?6.Filter的攔截路徑
--------------精確匹配-----------------
以上配置的路徑,表示請求地址必須為:http://ip:port/工程路徑/target.jsp
?
?
--------------目錄匹配-----------------
?
以上配置的路徑,表示請求地址必須為:http://ip:port/工程路徑/admin/*
?
--------------精確匹配-----------------
以上配置的路徑,表示請求地址必須以.html結尾才會攔截到
Filter過濾器它只關心請求的地址是否匹配,不關心請求的資源是否存在!!!
二.Listen監聽器
1.什么是Listen監聽器
1.Listener它是JavaEE的規范,就是接口
2.監聽器的作用是,監聽某種事物的變化。然后通過回調函數,反饋給客戶(程序〉去做一些相應的處理。
2.ServletcontextListener
servletContextListener它可以監聽servletContext對象的創建和銷毀。
servletContext 對象在web工程啟動的時候創建,在web工程停止的時候銷毀。
監聽到創建和銷毀之后都會分別調用servletContextListener監聽器的方法反饋。
?
如何使用servletContextListener 監聽器監聽servletContext對象。使用步驟如下:
1、編寫一個類去實現ServletContextListener
2、實現其兩個回調方法
?
3、到web.xml中去配置監聽器
?
?
原文鏈接:https://blog.csdn.net/qq_64580912/article/details/127247499
相關推薦
- 2022-08-14 在WPF中合并兩個ObservableCollection集合_C#教程
- 2022-10-10 C++超詳細分析type_traits_C 語言
- 2022-03-26 c語言實現可自定義的游戲地圖_C 語言
- 2022-12-03 C++網絡編程詳細講解_C 語言
- 2022-05-02 深入了解python裝飾器_python
- 2022-11-12 C++?哈希表的基本用法及說明_C 語言
- 2022-11-25 Django使用裝飾器限制對視圖的訪問及實現原理_python
- 2022-10-07 Android實現點擊圖片上傳SQLite數據庫_Android
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支