web監聽器

1.Web監聽器是Servlet規範中定義的一種特殊類,用於監聽ServletContext、HttpSession、ServletRequest等域對象的創建與銷燬事件


2.Web監聽器的主要用途

1)統計在線人數和在線用戶

2)系統啓動時加載初始化信息

3)統計網站訪問量

4)跟Spring結合

[*企業中應用]


3.Web監聽器創建

1)實現Web接口類(ServletContextListener)

2)在web.xml中進行配置(listener)


4.監聽器分類(按監聽的事件劃分)

1)監聽域對象自身的創建和銷燬的事件監聽器

ServletContext——ServletContextListener

HttpSession——HttpSessionListener

ServletRequest——ServletRequestListener


contestDestroyed

ServletContext對象的創建和銷燬?

創建:

銷燬:


2)監聽域對象中屬性的增加和刪除的事件監聽器

ServletContext——ServletContextAttributeListener

HttpSession——HttpSessionAttributeListener

ServletRequest——ServletRequestAttributeListener

attributeAdded,attributeRemoved,attributeReplaced

3)監聽綁定到HttpSession域中的某個對象的狀態的事件監聽器

HttpSession中對象的狀態:綁定,解除綁定,鈍化(持久化),活化

HttpSessionBindingListener valueBound(綁定),valueUnbound(解除綁定)

HttpSessionActivationListener sessionWillPassivate(鈍化),sessinDidActivate(活化)

步驟:對象bean實現HttpSessionBindingListener ,HttpSessionActivationListener,Serializable接口並實現相應方法,將bean對象放到session attribute中。


5.Session的創建和銷燬

創建:打開瀏覽器

銷燬:

1)關閉服務器

2)關閉瀏覽器一段時間之後

3)不關閉瀏覽器,session超時

web.xml <session-config> <session-timeout> 以分鐘爲單位


6.Session鈍化

正常情況下session處於服務器內存中,一些不常使用的session會被序列化,當需要使用時,再被反序列化到內存中

Session鈍化機制由SessionManager管理

Tomcat兩種session管理器——Persistentmanager,StandardManager

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章