過濾器是一個(gè)服務(wù)器端的組件,它可以截取用戶的請求與響應(yīng)消息,并對這些消息進(jìn)行過濾。
比如撕攒,在點(diǎn)擊進(jìn)入某網(wǎng)站內(nèi)容需要登錄時(shí),就會過濾請求信息中是否登陸
工作原理:
一般不加過濾器的web應(yīng)用烘浦,用戶與web資源直接進(jìn)行交流抖坪,過濾器則是在二者之間夾了一層,所用請求和響應(yīng)消息均需通過過濾器進(jìn)行轉(zhuǎn)發(fā)(過濾器由web容器托管闷叉,在web容器啟動時(shí)加載)
過濾器原理(來自慕課網(wǎng))
過濾器的生命周期:
實(shí)例化:在web容器啟動時(shí)進(jìn)行擦俐,僅進(jìn)行一次,(過濾器信心在web.xml中進(jìn)行配置)
初始化:緊接實(shí)例化握侧,也只進(jìn)行一次蚯瞧,在容器啟動時(shí)進(jìn)行 init 該方法可以讀取web.xml中filter的參數(shù)
過濾:用戶發(fā)送請求和獲取響應(yīng)消息時(shí)進(jìn)行,doFilter
銷毀:容器退出時(shí)銷毀 destroy
生命周期(來自慕課網(wǎng))
生命周期(來自慕課網(wǎng))你
疑問:
1.過濾器是否能改變用戶請求的web路徑
a:可以
2.過濾器能否直接返回?cái)?shù)據(jù)品擎,不去訪問web資源而直接返回給用戶埋合?
a:不可以
3.多個(gè)過濾器針對同一請求時(shí),執(zhí)行順序問題孽查?
過濾器鏈:
過濾器鏈(來自慕課網(wǎng))
過濾器鏈原理(來自慕課網(wǎng))