您好,登錄后才能下訂單哦!
小編給大家分享一下基于java中servlet過(guò)濾器和監(jiān)聽(tīng)器的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
1 過(guò)濾器
1.過(guò)濾器是什么?
servlet規(guī)范當(dāng)中定義的一種特殊的組件,用于攔截容器的調(diào)用.
注:容器收到請(qǐng)求之后,如果有過(guò)濾器,會(huì)先調(diào)用過(guò)濾器,然后在調(diào)用servlet.
2.如何寫一個(gè)過(guò)濾器?
1.寫一個(gè)java類,實(shí)現(xiàn)Filter接口;
2.在接口方法中實(shí)現(xiàn)攔截方法;
3.配置過(guò)濾器(web.xml);
3.配置初始化參數(shù)
1.配置初始化參數(shù).(init-param)
2.通過(guò)filterconfig提供的getinitparamenter方法讀取初始化的值.
4.優(yōu)先級(jí):
當(dāng)有多個(gè)過(guò)濾器都滿足攔截要求,則容器依據(jù)<filter-mapping>配置的先后順序執(zhí)行.
2 監(jiān)聽(tīng)器
1.什么是監(jiān)聽(tīng)器?
servlet規(guī)范當(dāng)中定義的一種特殊的屬性,用于監(jiān)聽(tīng)容器產(chǎn)生的事件的.
注:有兩大類事件
I) 聲明周期相關(guān)的事件:
指得是,當(dāng)容器創(chuàng)建或者銷毀了request,session,servlet上下文對(duì)象時(shí),產(chǎn)生的事件.
II) 綁定數(shù)據(jù)相關(guān)的事件:
指的是,當(dāng)調(diào)用了request,session,servlet上下文的setattribute,removeAttrbute時(shí)產(chǎn)生的事件.
1.如何寫監(jiān)聽(tīng)器?
1.寫一個(gè)java類實(shí)現(xiàn)監(jiān)聽(tīng)器接口.
注:依據(jù)監(jiān)聽(tīng)的事件類型選擇相應(yīng)的接口,例如:要監(jiān)聽(tīng)session創(chuàng)建或者銷毀對(duì)應(yīng)的事件,需要實(shí)現(xiàn)httpsessionlistener接口
2.在接口方法中,實(shí)現(xiàn)監(jiān)聽(tīng)處理邏輯;
3.配置監(jiān)聽(tīng)器(web.xml).
2.Serlvet上下文
1.什么是servlet上下文?
容器啟動(dòng)以后,會(huì)為每一個(gè)web應(yīng)用創(chuàng)建一個(gè)唯一符合servletcontext接口的對(duì)象,該對(duì)象就是servlet上下文.
2.特點(diǎn):
I) 唯一性:一個(gè)web應(yīng)用對(duì)應(yīng)一個(gè)servlet上下文.
II) 持久性:只要服務(wù)器不關(guān)閉,應(yīng)用沒(méi)有被卸載,則上下文就會(huì)一直在.
1.如何獲得servlet上下文?
GenericServlet,ServletConfig,FilterConfig,HttpSession都提供了一個(gè)方法(getServletContext)
2.上下文的作用
I) 綁定數(shù)據(jù)
setattribute,getattribute,removeattribute
注:從生存的時(shí)間長(zhǎng)度比較:request<session<上下文
在滿足使用條件的情況下,優(yōu)先使用聲明周期短的.
II) 讀取全局的初始化參數(shù).
看完了這篇文章,相信你對(duì)“基于java中servlet過(guò)濾器和監(jiān)聽(tīng)器的示例分析”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。