Servlet監聽器

監聽器:Servlet規範定義三門技術之一 Servlet、監聽器、過濾器


javaee提供了八種監聽器,分爲了三類:
(1)寫一個類去實現監聽器接口
(2)在web.xml中註冊監聽器

1.用來監聽三大作用於創建和銷燬的監聽器
ServletContextListener:監聽ServletContex域創建和銷燬的監聽器 
生命週期:
web應用加載後立即創建代表當前web應用的ServletContext對象,此對象一直駐留在內存中。
web應用被移除出容器或服務器關閉時,隨着應用的銷燬代表應用的ServletContext銷燬。
HttpSessionListener:監聽session域創建和銷燬的監聽器
生命週期:
第一次調用request.getSession時創建出session
超過30分鐘沒人使用就銷燬,調用invalidate方法自殺,服務器非正常關閉時銷燬。正常關閉時會鈍化,下次正常啓動時會活化。想要隨着session被鈍化或活化的對象必須去實現Serializable接口。
ServletRequestListener :監聽request域創建和銷燬的監聽器
生命週期:
請求開始,服務器創建代表請求的request
請求結束,服務器銷燬request
2.用來監聽三大作用域中域屬性變化的監聽器
ServletContextAttributeListener
HttpSessionAttributeListener 
ServletRequestAttributeListener


3.使javabean感知自己在session域中狀態變化的監聽器
這兩個監聽器不需要在web.xml中進行註冊,只要讓javabean去實現這個接口就可以了


HttpSessionBindingListener
javabean被存入session
javabean被移除出session


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