網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
目錄
一.Filter過(guò)濾器
1.什么是Filter過(guò)濾器
2.Filter過(guò)濾器的基本使用
3.Filter的生命周期
4.FilterConfig類
?5.FilterChain過(guò)濾器鏈
?6.Filter的攔截路徑
二.Listen監(jiān)聽器
1.什么是Listen監(jiān)聽器
2.ServletcontextListener
一.Filter過(guò)濾器
1.什么是Filter過(guò)濾器
1、Filter過(guò)濾器它是JavaWeb的三大組件之一。三大組件分別是:Servlet程序、Listener監(jiān)聽器、Filter過(guò)濾器
2、Filter過(guò)濾器它是JavaEE 的規(guī)范。也就是接口
3、Filter過(guò)濾器它的作用是:攔截請(qǐng)求,過(guò)濾響應(yīng)。
????????攔截請(qǐng)求常見(jiàn)的應(yīng)用場(chǎng)景有:
????????1、權(quán)限檢查
????????2、日記操作
????????3、事務(wù)管理
2.Filter過(guò)濾器的基本使用
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Filter過(guò)濾器的工作原理
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Filter過(guò)濾器的xml配置
? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Filter過(guò)濾器的代碼實(shí)現(xiàn)
?
Filter過(guò)濾器的使用步驟:
1、編寫一個(gè)類去實(shí)現(xiàn)Filter接口
2、實(shí)現(xiàn)過(guò)濾方法doFilter()
3、到 web.xml中去配置Filter的攔截路徑
3.Filter的生命周期
Filter的生命周期包含幾個(gè)方法
1、構(gòu)造器方法
2、init初始化方法
第1,2步,在web工程啟動(dòng)的時(shí)候執(zhí)行( Filter已經(jīng)創(chuàng)建)
3、doFilter過(guò)濾方法
第3步,每次攔截到請(qǐng)求,就會(huì)執(zhí)行
4、destroy銷毀
第4步,停止 web工程的時(shí)候,就會(huì)執(zhí)行(停止web工程,也會(huì)銷毀Filter過(guò)濾器)
?
4.FilterConfig類
FilterConfig類見(jiàn)名知義,它是Filter過(guò)濾器的配置文件類。
Tomcat每次創(chuàng)建 Filter的時(shí)候,也會(huì)同時(shí)創(chuàng)建一個(gè)FilterConfig類,這里包含了Filter配置文件的配置信息。
?5.FilterChain過(guò)濾器鏈
FilterChain就是過(guò)濾器鏈(多個(gè)過(guò)濾器如何一起工作)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 工作原理
?6.Filter的攔截路徑
--------------精確匹配-----------------
以上配置的路徑,表示請(qǐng)求地址必須為:http://ip:port/工程路徑/target.jsp
?
?
--------------目錄匹配-----------------
?
以上配置的路徑,表示請(qǐng)求地址必須為:http://ip:port/工程路徑/admin/*
?
--------------精確匹配-----------------
以上配置的路徑,表示請(qǐng)求地址必須以.html結(jié)尾才會(huì)攔截到
Filter過(guò)濾器它只關(guān)心請(qǐng)求的地址是否匹配,不關(guān)心請(qǐng)求的資源是否存在!!!
二.Listen監(jiān)聽器
1.什么是Listen監(jiān)聽器
1.Listener它是JavaEE的規(guī)范,就是接口
2.監(jiān)聽器的作用是,監(jiān)聽某種事物的變化。然后通過(guò)回調(diào)函數(shù),反饋給客戶(程序〉去做一些相應(yīng)的處理。
2.ServletcontextListener
servletContextListener它可以監(jiān)聽servletContext對(duì)象的創(chuàng)建和銷毀。
servletContext 對(duì)象在web工程啟動(dòng)的時(shí)候創(chuàng)建,在web工程停止的時(shí)候銷毀。
監(jiān)聽到創(chuàng)建和銷毀之后都會(huì)分別調(diào)用servletContextListener監(jiān)聽器的方法反饋。
?
如何使用servletContextListener 監(jiān)聽器監(jiān)聽servletContext對(duì)象。使用步驟如下:
1、編寫一個(gè)類去實(shí)現(xiàn)ServletContextListener
2、實(shí)現(xiàn)其兩個(gè)回調(diào)方法
?
3、到web.xml中去配置監(jiān)聽器
?
?
原文鏈接:https://blog.csdn.net/qq_64580912/article/details/127247499
相關(guān)推薦
- 2022-10-25 Python第三方常用模塊openpyxl的簡(jiǎn)單介紹_python
- 2022-06-08 ASP.NET?Core中的靜態(tài)文件_基礎(chǔ)應(yīng)用
- 2022-05-27 C++?超詳細(xì)深入分析單例模式_C 語(yǔ)言
- 2023-01-11 基于Qt播放器的實(shí)現(xiàn)詳解(支持Rgb,YUV格式)_C 語(yǔ)言
- 2022-12-29 解決React報(bào)錯(cuò)You?provided?a?`checked`?prop?to?a?form?f
- 2022-06-10 FreeRTOS實(shí)時(shí)操作系統(tǒng)之可視化追蹤調(diào)試_操作系統(tǒng)
- 2023-10-10 函數(shù)柯里化的簡(jiǎn)單實(shí)現(xiàn)和應(yīng)用
- 2022-04-01 containerd常用命令
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支