-
監(jiān)聽器的分類——按監(jiān)聽的事件劃分查看全部
-
監(jiān)聽器的分類——按監(jiān)聽的對(duì)象劃分查看全部
-
監(jiān)聽器/過濾器/Serlvet的啟動(dòng)順序查看全部
-
創(chuàng)建第一個(gè)Web監(jiān)聽器查看全部
-
web監(jiān)聽器的用途查看全部
-
監(jiān)聽器的定義查看全部
-
web監(jiān)聽器查看全部
-
監(jiān)聽器查看全部
-
java九大內(nèi)置對(duì)象查看全部
-
監(jiān)聽器總結(jié)續(xù) 二、Listenner的注冊(cè) Javaweb的這些特別的監(jiān)聽器注冊(cè)比較簡(jiǎn)單,因?yàn)镾ervletRequest、HttpSession、ServletContext對(duì)象都是容器創(chuàng)建的,所以需要它們的監(jiān)聽器的話,只需要在應(yīng)用的web-info的web.xml里配置即可: <listener> <listener-class>com.test.listener.MyHttpSessionAttributeListener</listener-class> <listener-class>com.test.listener.MyServletContextAttributeListener</listener-class> <!-- 多個(gè)實(shí)現(xiàn)相同的Listenner接口,在執(zhí)行時(shí)是按web.xml注冊(cè)出現(xiàn)的來決定。 --> </listener> 注意:感知型監(jiān)聽器HttpSessionBindingListener、HttpSessionActivationListener不需要注冊(cè)。 三、應(yīng)用場(chǎng)景: 由于ervletRequest、HttpSession、ServletContext對(duì)象都是容器創(chuàng)建的,什么時(shí)候創(chuàng)建,用戶都不知道。通過實(shí)現(xiàn)這些對(duì)象的監(jiān)聽器后,就可以得知了。比如: 1>在ServletContextLintener監(jiān)聽器的contextInitialized方法中,進(jìn)行應(yīng)用級(jí)的資源初始化以便提高效率,在contextDestroyed方法中對(duì)應(yīng)用級(jí)的資源進(jìn)行釋放。 2>又比如web應(yīng)用中,會(huì)存在會(huì)話,通常的作法是將當(dāng)前登錄的用戶存放在session會(huì)話中。那么如何統(tǒng)計(jì)在線人數(shù)話,如何顯示出當(dāng)前登錄的用戶呢。如何踢出某些已登錄的用戶呢。就可以通過HttpSessionAttributeListener監(jiān)聽器的attributeAdded方法,等等。 四、優(yōu)先級(jí)順序 監(jiān)聽器->過濾器->Servlet 五、在Servlet3.0下的使用 通過在類前添加注解@WebListener即可,不用在web.xml中配置,在servlet3.0中監(jiān)聽器沒有順序查看全部
-
注解里面的值是對(duì)這個(gè)監(jiān)聽器的描述查看全部
-
Servlet3.0下監(jiān)聽器的用法查看全部
-
監(jiān)聽器的分類-按監(jiān)聽事件劃分: 1、監(jiān)聽器綁定到HttpSession域中的某個(gè)對(duì)象的狀態(tài)事件監(jiān)聽器; 2、HttpSession中的對(duì)象狀態(tài): (1)綁定:通過setAttribute(); (2)解除綁定:removeAttribute(); (3)鈍化:將session對(duì)象序列化到存儲(chǔ)設(shè)備上 (4)活化:將session對(duì)象從存儲(chǔ)設(shè)備上進(jìn)行恢復(fù) 3、session鈍化機(jī)制: (1)把服務(wù)器中不常使用的session對(duì)象暫時(shí)的序列化到系統(tǒng)文件或是數(shù)據(jù)庫(kù)中,當(dāng)使用時(shí)反序列化到內(nèi)存中,整個(gè)過程有服務(wù)器自動(dòng)完成。 (2)session的鈍化機(jī)制由SessionManager管理 4、實(shí)現(xiàn)綁定和解除綁定,創(chuàng)建一個(gè)【普通的javabean】綁定和解除綁定需實(shí)現(xiàn)【HttpSessionBindingListener】接口; 實(shí)現(xiàn)鈍化和活化,需實(shí)現(xiàn)HttpSessionActivationListener接口和Serializable接口查看全部
-
監(jiān)聽域?qū)ο笾械膶傩缘脑黾雍蛣h除的事件監(jiān)聽 [ 查看全文 ] request.getAtttribute和request.getParameter的區(qū)別在于 后者能直接獲取url中的參數(shù),如圖中的username的值 前者則需要先setAttribute把值存進(jìn)去,再用get方法獲取查看全部
-
ServletRequest的事件監(jiān)聽器 實(shí)現(xiàn)ServletRequestListener接口用于監(jiān)聽它的創(chuàng)建和銷毀事件 一個(gè)ServletRequest可以注冊(cè)多個(gè)ServletRequestListener接口, 有兩個(gè)事件處理方法: requestInitialized方法: public void requestInitialized(ServletRequestEvent sre) request創(chuàng)建時(shí)調(diào)用 參數(shù)ServletRequestEvent可以獲取ServletRequest對(duì)象 ServletRequest sr = sre.getServletRequest() 進(jìn)而獲取初始化參數(shù):sr.getInitParmeter("") requestDestroyed方法: public void requestDestroyed(ServletRequestEvent sre) request銷毀時(shí)調(diào)用 ServletRequest的主要用途: 讀取參數(shù) 記錄訪問歷史 request監(jiān)聽的是用戶的每一個(gè)訪問請(qǐng)求 Ps:別忘了監(jiān)聽器的web設(shè)置。查看全部
舉報(bào)
0/150
提交
取消