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