1. 程式人生 > ><Listener>HttpSessionListener和HttpSessionAttributeListener區別

<Listener>HttpSessionListener和HttpSessionAttributeListener區別

替換 統計 ner public date() str xml配置 在線 pla

一、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區別