-
將太好了,開始不懂,捋清楚。講得非常棒
查看全部 -
Session鈍化機(jī)制
查看全部 -
監(jiān)聽器啟動(dòng)順序
查看全部 -
Web監(jiān)聽器
查看全部 -
監(jiān)聽器定義
查看全部 -
監(jiān)聽器啟動(dòng)順序
查看全部 -
優(yōu)先級(jí):監(jiān)聽器>過濾器>Servlet
查看全部 -
思路:在HttpSession監(jiān)聽器中記錄人數(shù)num,sessionCreated人數(shù)增加1,sessionDestroyed人數(shù)減1。? ?對(duì)于用戶的訪問時(shí)間,IP等信息,可以在ServletRequest監(jiān)聽器中,先將ServletRequest對(duì)象轉(zhuǎn)為HttpServletRequest對(duì)象,獲取sessionId,再判斷ArrayList中是否存在此sessionId,若沒有,sessionId,當(dāng)前時(shí)間格式化,IP存入U(xiǎn)ser對(duì)象存入ArrayList。當(dāng)session銷毀時(shí)要將ArrayList中的此User對(duì)象移除。注意num 和?ArrayList 都要存入ServletContext的屬性中,以便下次獲取。
查看全部 -
web.xml中web-app節(jié)點(diǎn)下的version屬性定義servlet版本號(hào)
使用servlet3.0的前提條件
使用servlet3.0新標(biāo)準(zhǔn)jar包
JDK必須在1.6以上版本
編譯器的編譯級(jí)別為6.0
在web.xml文件中,使用3.0規(guī)范
使用支持servlet3.0特性的web容器,比如tomcat7
?
注意:servlet3.0中無法去定義監(jiān)聽器的順序? ? ?
?
注冊(cè)監(jiān)聽器無需在web.xml中注冊(cè),只需要使用@WebListener注解
查看全部 -
HttpSession中的對(duì)象狀態(tài):
綁定:session.setAttribute
解除綁定:session.removeAttribute
鈍化:將session對(duì)象持久化到存儲(chǔ)設(shè)備上
活化:將session對(duì)象從存儲(chǔ)設(shè)備上恢復(fù)
?當(dāng)多個(gè)用戶同時(shí)在線時(shí)session內(nèi)存的開銷很大,為了提高服務(wù)器性能使用Session鈍化機(jī)制。
? ?
web應(yīng)用程序被重新加載情況:web.xml修改,Spring.xml修改,Tomcat reload等。
? ? ? ? HttpSession綁定接口HttpSessionBindingListener和鈍化活化接口HttpSessionListener
? ? ? ?創(chuàng)建JavaBean實(shí)現(xiàn)接口,而不是創(chuàng)建監(jiān)聽器。因?yàn)楸O(jiān)聽的是一個(gè)對(duì)象的狀態(tài),而不是監(jiān)聽器狀態(tài)。
? ? ? ?當(dāng)將JavaBean對(duì)象存入session中就會(huì)觸發(fā)綁定方法。當(dāng)保存對(duì)象的session對(duì)象被remove時(shí),觸發(fā)解除綁定方法。
? ? ?
? ? ?鈍化活化必需要實(shí)現(xiàn)Serializable序列化接口,才能使得session對(duì)象鈍化活化生效。
?
查看全部 -
監(jiān)聽域?qū)ο笾械膶傩允录O(jiān)聽器對(duì)應(yīng)接口
ServletContenxt——ServletContenxtAttributeListener
HttpSession——HttpSessionAttributeListener
ServletRequest——ServletRequestAttributeListener
第一次訪問,觸發(fā)監(jiān)聽器add方法。? 再次訪問觸發(fā)監(jiān)聽器replace方法。 銷毀時(shí)觸發(fā)remove方法。
查看全部 -
ServletRequest對(duì)象在請(qǐng)求時(shí)創(chuàng)建,請(qǐng)求結(jié)束后銷毀。
第一次訪問時(shí),監(jiān)聽request對(duì)象創(chuàng)建方法調(diào)用先于session
獲取request參數(shù)
查看全部 -
session創(chuàng)建方式:用戶第一次打開瀏覽器,web容器分配一個(gè)session
session銷毀方式:1、關(guān)閉服務(wù)器 2、關(guān)閉瀏覽器直到session過期? ?3、不關(guān)閉瀏覽器,session超時(shí)
web.xml配置session超時(shí)時(shí)間,配置0表示永遠(yuǎn)不會(huì)超時(shí),配置1表示超時(shí)時(shí)間為1分鐘。超時(shí)不是定時(shí)器,沒有確切的時(shí)間。
查看全部 -
按監(jiān)聽的事件劃分
監(jiān)聽域?qū)ο笞陨淼膭?chuàng)建和銷毀的事件監(jiān)聽器
監(jiān)聽域?qū)ο笾械膶傩缘脑黾雍蛣h除的事件監(jiān)聽器
監(jiān)聽綁定到HttpSession域中的某個(gè)對(duì)象的狀態(tài)的事件監(jiān)聽器
?域?qū)ο蟮膶?duì)應(yīng)監(jiān)聽接口
?ServletContext—?ServletContextListener
?HttpSession—?HttpSessionListener
?ServletRequest—?ServletRequestListener
在web.xml中配置ServletContext初始化參數(shù)
獲取ServletContext初始化參數(shù)
查看全部 -
當(dāng)webz中存在多個(gè)監(jiān)聽器時(shí),是根據(jù)web.xml中監(jiān)聽器的注冊(cè)順序加載監(jiān)聽器。
加載優(yōu)先級(jí): 監(jiān)聽器>過濾器>Servlet
查看全部 -
在web.xml中注冊(cè)監(jiān)聽器
啟動(dòng)服務(wù)器時(shí)創(chuàng)建application(ServletContext)對(duì)象,監(jiān)聽器contextInitialized方法調(diào)用;關(guān)閉服務(wù)器時(shí)銷毀application(ServletContext)監(jiān)聽器contextDestroyed方法調(diào)用。
查看全部 -
監(jiān)聽器用途
統(tǒng)計(jì)在線人數(shù)和在線用戶
系統(tǒng)啟動(dòng)時(shí)加載初始化信息
統(tǒng)計(jì)網(wǎng)站訪問量
跟Spring結(jié)合
步驟:
創(chuàng)建一個(gè)實(shí)現(xiàn)監(jiān)聽器接口的類
配置web.xml進(jìn)行注冊(cè)
查看全部 -
? ?監(jiān)聽器定義
查看全部 -
使用注解方式注冊(cè)監(jiān)聽器的方法。
在類上加上@WebListener就可以了。
查看全部
舉報(bào)