要有这么一个监听器,当加入session时就可以触发一个加入session事件,在session过期时就可以触发一个删除事件,那么我们的把要处理的东西加入到这两个事件中就可以做很多于SESSION相关连的事。如在线用户的管理,单点登陆等等。在J2EE中可以实现HttpSessionBindingListener接口,此接口有两要实现的方法。 void valueBound(HttpSessionBindingEvent event) 当实现此接口的监听类和session绑定时触发此事件。void valueUnbound(HttpSessionBindingEvent event) 当session过期或实现此接口的监听类卸裁时触发此事件。下面是一个示例解决方案:可以把登陆用户的信息记录在缓冲池中,当SESSION过期时,用户信息自动删除。一个用户信息接口。一个用户缓冲池。一个HttpSessionBindingListener接口的监听类。
这样子的话,当在应用中把userLoginListener加入到session中时,就会自动把用户信息加入到缓冲池中了。如: session.setAttribute("userLoginListener",userLoginListener);(原创,转载请保留文章出处http://www.blogjava.net/bnlovebn/archive/2007/07/04/128006.html)