摘要:方法對象銷毀時執(zhí)行方法其中的參數(shù)每次在執(zhí)行方法時容器負(fù)責(zé)創(chuàng)建一個和一個對象作為的參數(shù)傳遞進(jìn)來。該個該就是在訪問目標(biāo)資源的方法時的和。
一、過濾器Filter
1.filter的簡介
filter是對客戶端訪問資源的過濾,符合條件放行,不符合條件不放行,并且可以對目 標(biāo)資源訪問前后進(jìn)行邏輯處理
2.快速入門
步驟:
1)編寫一個過濾器的類實(shí)現(xiàn)Filter接口
2)實(shí)現(xiàn)接口中尚未實(shí)現(xiàn)的方法(著重實(shí)現(xiàn)doFilter方法)
3)在web.xml中進(jìn)行配置(主要是配置要對哪些資源進(jìn)行過濾)
3.Filter的API詳解
(1)filter生命周期及其與生命周期相關(guān)的方法
Filter接口有三個方法,并且這個三個都是與Filter的生命相關(guān)的方法
init(Filterconfig):代表filter對象初始化方法 filter對象創(chuàng)建時執(zhí)行
doFilter(ServletRequest,ServletResponse,FilterCha):代表filter執(zhí)行過濾的核心方法,如果某資源在已經(jīng)被配置到這個filter進(jìn)行過濾的話,那么每次訪問這個資源都會執(zhí)行doFilter方法
destory():代表是filter銷毀方法 當(dāng)filter對象銷毀時執(zhí)行該方法
Filter對象的生命周期:
Filter何時創(chuàng)建:服務(wù)器啟動時就創(chuàng)建該filter對象
Filter何時銷毀:服務(wù)器關(guān)閉時filter銷毀
(2)Filter的AP詳解
1)init(FilterConfig)
其中參數(shù)config代表 該Filter對象的配置信息的對象,內(nèi)部封裝是該filter的配置信息。
2)destory()方法
filter對象銷毀時執(zhí)行
3)doFilter方法
doFilter(ServletRequest,ServletResponse,FilterChain)
其中的參數(shù):
ServletRequest/ServletResponse:每次在執(zhí)行doFilter方法時 web容器負(fù)責(zé)創(chuàng)建一個request和一個response對象作為doFilter的參數(shù)傳遞進(jìn)來。該request個該response就是在訪問目標(biāo)資源的service方法時的request和response。
FilterChain:過濾器鏈對象,通過該對象的doFilter方法可以放行該請求
4.Filter的配置
url-pattern配置時
1)完全匹配 /sertvle1
2)目錄匹配 /aaa/bbb/* ----最多的
/user/*:訪問前臺的資源進(jìn)入此過濾器
/admin/*:訪問后臺的資源時執(zhí)行此過濾器
3)擴(kuò)展名匹配 .abc .jsp
注意:url-pattern可以使用servlet-name替代,也可以混用
dispatcher:訪問的方式(了解)
REQUEST:默認(rèn)值,代表直接訪問某個資源時執(zhí)行filter
FORWARD:轉(zhuǎn)發(fā)時才執(zhí)行filter
INCLUDE: 包含資源時執(zhí)行filter
ERROR:發(fā)生錯誤時 進(jìn)行跳轉(zhuǎn)是執(zhí)行filter
總結(jié)Filter的作用?
1)公共代碼的提取
2)可以對request和response中的方法進(jìn)行增強(qiáng)(裝飾者模式/動態(tài)代理)
3)進(jìn)行權(quán)限控制
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/72511.html
摘要:創(chuàng)建與銷毀對象是發(fā)送請求服務(wù)器就會創(chuàng)建它,當(dāng)響應(yīng)產(chǎn)生時,對象就會銷毀。是容器為開發(fā)人員提供的對象,它提供了對某一資源的已過濾請求調(diào)用鏈的視圖。 一、Listener監(jiān)聽器 Javaweb開發(fā)中的監(jiān)聽器,是用于監(jiān)聽web常見對象 HttpServletRequest HttpSession ServletContext 監(jiān)聽它們的創(chuàng)建與銷毀 屬性變化 session綁...
摘要:當(dāng)后繼請求相同的頁面時,容器加載之前生成的類,并且通知去執(zhí)行已經(jīng)存在的字節(jié)碼,從而省去了轉(zhuǎn)換的過程,這也是第一次執(zhí)行頁面時間較長的原因。 以往學(xué)習(xí)的時候大多是看完書或者看完視頻,動手實(shí)踐一下就OK了。然而過了一段時間我發(fā)現(xiàn)東西都忘差不多了,需要復(fù)習(xí)才能重新掌握。現(xiàn)在開始學(xué)習(xí)JavaWeb了,我將在這里記錄自己的學(xué)習(xí)的一點(diǎn)一滴,不僅便于自己以后回顧知識點(diǎn),也希望能對JavaWeb初學(xué)者有...
摘要:學(xué)習(xí)筆記工作以來就一直在用各種框架,比如,這些,向外提供接口都很方便,但是一直在想它的內(nèi)部是怎樣對外暴露服務(wù)的,正好之前學(xué)習(xí)基礎(chǔ)的時候也沒好好看這塊,抽個時間學(xué)習(xí)總結(jié)一下,也能更好的理解掌握現(xiàn)在的框架。 Servlet學(xué)習(xí)筆記 工作以來就一直在用各種web框架,比如SpringMVC,Spring Cloud這些,向外提供接口都很方便,但是一直在想它的內(nèi)部是怎樣對外暴露服務(wù)的,正好之前...
摘要:會話技術(shù)是幫助服務(wù)器記住客戶端狀態(tài)區(qū)分客戶端會話技術(shù)從打開一個瀏覽器訪問某個站點(diǎn),到關(guān)閉這個瀏覽器的整個過程,成為一次會話。會話技術(shù)就是記錄這次會話中客戶端的狀態(tài)與數(shù)據(jù)的。 一、會話技術(shù)簡介1.存儲客戶端的狀態(tài)由一個問題引出今天的內(nèi)容,例如網(wǎng)站的購物系統(tǒng),用戶將購買的商品信息存儲到哪 里?因?yàn)镠ttp協(xié)議是無狀態(tài)的,也就是說每個客戶訪問服務(wù)器端資源時,服務(wù)器并 不知道該客戶...
摘要:一前言在開發(fā)的過程中,難免會出現(xiàn)中文亂碼的問題。接下來寫的是我在解決中文亂碼問題時的學(xué)習(xí)心得,一是為了能加深印象,二是希望能幫初學(xué)者們解決一些疑惑。二正文之所以會出現(xiàn)中文亂碼,是因?yàn)樵谶M(jìn)行時的編碼方式不正確。 一、前言 在開發(fā)JavaWeb的過程中,難免會出現(xiàn)中文亂碼的問題。接下來寫的是我在解決中文亂碼問題時的學(xué)習(xí)心得,一是為了能加深印象,二是希望能幫初學(xué)者們解決一些疑惑。如有說的不...
閱讀 2351·2021-11-25 09:43
閱讀 2864·2021-11-24 09:39
閱讀 2926·2019-08-30 11:10
閱讀 1130·2019-08-29 16:34
閱讀 595·2019-08-29 13:25
閱讀 3358·2019-08-29 11:21
閱讀 2861·2019-08-26 11:39
閱讀 2394·2019-08-26 11:34