<Listener>HttpSessionListener和HttpSessionAttributeListener區別
一、HttpSessionListener
HttpSessionListener是對Session的一個監聽,主要監聽關於Session的兩個事件,即初始化和銷毀。HttpSessionListener有兩個方法:
VoidsessionCreated(HttpSessionEvent se):當session創建時會收到通知。
VoidsessionDestroyed(HttpSessionEvent se):當session銷毀時也會收到通知。
在調用session.invalidate()方法時,就會調用VoidsessionDestroyed()銷毀方法。
故根據HttpSessionListener的特性,如果想在用戶登錄或者退出時做些什麽,就可以設置session監聽,例如:防止用戶重復登錄,統計用戶在線數量,統計用戶登錄頻率等等。
二、HttpSessionAttributeListener
HttpSessionAttributeListener是SessionAttribute的監聽,當在會話對象中加入屬性、移除屬性或替換屬性時,就會調用HttpSessionAttributeListener監聽器。
它有三個方法:
public voidattributeAdded(HttpSessionBindingEvent se):在session中添加對象時觸發此操作
public voidattributeRemoved(HttpSessionBindingEvent se):修改、刪除session中添加對象時觸發此操作
public voidattributeReplaced(HttpSessionBindingEvent se):在Session屬性被重新設置時
三、來個例子
1、web.xml配置
2、監聽實現類
<Listener>HttpSessionListener和HttpSessionAttributeListener區別