要有這么一個監(jiān)聽器,當(dāng)加入session時就可以觸發(fā)一個加入session事件,在session過期時就可以觸發(fā)一個刪除事件,那么我們的把要處理的東西加入到這兩個事件中就可以做很多于SESSION相關(guān)連的事。如在線用戶的管理,單點(diǎn)登陸等等。
在J2EE中可以實(shí)現(xiàn)HttpSessionBindingListener接口,此接口有兩要實(shí)現(xiàn)的方法。
void valueBound(HttpSessionBindingEvent event) 當(dāng)實(shí)現(xiàn)此接口的監(jiān)聽類和session綁定時觸發(fā)此事件。
void valueUnbound(HttpSessionBindingEvent event) 當(dāng)session過期或?qū)崿F(xiàn)此接口的監(jiān)聽類卸裁時觸發(fā)此事件。
下面是一個示例解決方案:可以把登陸用戶的信息記錄在緩沖池中,當(dāng)SESSION過期時,用戶信息自動刪除。
一個用戶信息接口。一個用戶緩沖池。一個HttpSessionBindingListener接口的監(jiān)聽類。











































































































這樣子的話,當(dāng)在應(yīng)用中把userLoginListener加入到session中時,就會自動把用戶信息加入到緩沖池中了。
如:
session.setAttribute("userLoginListener",userLoginListener);
(原創(chuàng),轉(zhuǎn)載請保留文章出處http://www.aygfsteel.com/bnlovebn/archive/2007/07/04/128006.html)