程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> JSP詳細篇——Servlet監聽器(二)

JSP詳細篇——Servlet監聽器(二)

編輯:關於JSP

JSP詳細篇——Servlet監聽器(二)


3.HTTP會話監聽器

HTTP會話監聽(HttpSession)信息,有4個接口可以進行監聽

(1)HttpSessionListener接口

HttpSesionLintener接口實時監聽HTTP會話創建、銷毀。HttpSessionListener接口提供以下兩個方法:

A.sessionCreated(HttpSessionEvent event)方法,通知正在收聽的對象,session已經被加載或初始化

B.sessionDestroyed(HttpSessionEvent event)方法,通知 正在收聽的對象,session已經被載出。

(HttpSessionEvent類的主要方法是getSession(),可以使用該方法返回一個session對象)

(2)HttpSessionActivationListener接口

HttpSessionActivationListener接口實現監聽HTTP會話active和passivate。HttpSessionActivationListener接口提供了以下3個方法

A.attributeAdd(HttpSessionBindingEvent event)方法:當有對象加入session是通知正在收聽的對象。

B.attributeReplaced(HttpSessionBindingEvent event)方法:當在session的范圍有對象取代另一對象的時候,通知正在收聽的對象

C.attributeRemoved(HttpSessionBindingEvent event)方法:當有對象從session的范圍移除時,通知正在收聽的對象。(HttpSessionBindingEvent類主要有3個方法:getName(),getSession(),getValues())

(3)HttpBindingListener接口

HttpBindingListener接口實現監聽HTTP會話中對象的綁定信息。他是唯一不需要在web.xml中設定Listener的。HttpBindingListener接口提供了以下兩個方法:

A.valueBound(HttpSessionBindingEvent event)方法:當有對象加入 session的范圍時會自定調用。

B.valueUnBound(HttpSessionBindingEvent event)方法:當有對象從session的范圍移除時會自動調用。

(4)HttpSessionAttributeListener接口

HttpSessionAttributeListener接口實現 監聽HTTP會話中屬性的設置請求。HttpSessionAttributeListener接口提供了以下兩個方法:

A.sessionDidActivate(HttpSessionEvent event)方法:通知正在收聽的對象,他的session已經變為了有效狀態

B.sessionWillPassivate(HttpSessionEvent event)方法:通知正在收聽的對象,他的session已經變為了無效狀態。

4.Servlet請求監聽

Servlet2.4規范中增加了一個技術,就是可以監聽客戶端的請求,一旦能夠獲取到客戶端的請求,就可以對請求進行統一的處理。要實現客戶端請求和請求參數設置的監聽需要實現兩個接口:

1.ServletRequestListener接口

ServletRequestListener接口提供了以下兩個方法:

A.requestInitialized(ServletRequestEvent event)方法:通知正在收聽的對象,ServletRequest已經被加載並初始化

B.requestDestroyed(ServletRequestEvent event)方法:通知正在收聽的對象,ServletRequest對象已經載出即關閉

2.ServletRequestAttributeListener接口:

ServletRequestAttibuteListener接口提供以下3個方法:

A.attributeAdded(ServletRequestAttributeEvent event)方法:當有對象加入request的范圍時,通知正在收聽的對象。

B.attributeReplaced(ServletRequestAttributeEvent event)方法:當在request的范圍內有對象取代另一個對象的時候,通知正在收聽的對象。

C.attributeRemoved(ServletReqquesstAttributeEvent event)方法:當 有對象從request的范圍移除時,通知正在收聽的對象。



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved