public class SomeObject implements HttpSessionBindingListener { private Connection someDbConnection = null; .... various bits of code .... public void valueBound(HttpSessionBindingEvent event) { // open the Connection this.someDbConnection = .... } public void valueUnbound(HttpSessionBindingEvent event) { // close the Connection this.someDbConnection.close(); } }
要将这个对象绑定到session中,我们只需要将它添加到session即可。如果一个放置到session中的对象实现了HttpSessionBindingListener接口类,那么sesssion会自动的为它创建一个监听者(listener),在绑定解除的时候通知它。
通过实现HttpSessionBindingListener,我们可以将我们的对象放在sesssion域中,并且可以管理它们的创建和撤销。