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