正 文

将对象绑定到HttpSession


www.7dspace.com  更新日期:2005-12-19 5:36:34  七度空间


有时我们希望创建一个作为缓存或者资源的对象,这个对象的生存期贯穿于用户servlet或者jsp session的始终。但是如果我们同时还希望这个对象可以被另一个地方所使用,那么这就成为了一个问题。因为我们不希望这个对象在session结束的时候被垃圾收集机制清理。我们可以通过实现HttpSessionBindingListener监听类来避免这个问题。

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域中,并且可以管理它们的创建和撤销。


上一篇:在Java中展开glob(通配符)
下一篇:用Notifier类实现Event/Listener更容易
作者:arthur  来源:Java研究组织 ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐