cookie的除了会话其他用处

可以使用cookie在服务器和客户之间交换名/值String对
服务器把cookie发送给客户,客户再在以后的每个请求中把cookie发回。

客户的浏览器退出时,会话cookie就会消失,但是你可以告诉cookie在客户端上待得更久一些,甚至在 浏览器关闭之后 还持久保存。
要知道 cookie构造函数- getMaxAge()及setMaxAge()方法。

对于首部既有setHeader()方法,又有addHeader()方法(如果已经有这个首部,addHeader会向这个现有的首部增加一个值, 而setHeader会替换现有的值)  但是不存在setCookie()方法。 只有一个addCookie()方法

 

 

 

看看 具体的会话迁移

 

实现Serializable的类还可以实现一个wrtieObject()方法,逆串行化对象时就由VM调用这个方法,另外还有可以实现一个readObject()方法,这个方法在对象串行化时调用Serializalbe对象可以使用这个方法来做一些事情,比如,在串行化期间把非Serializable的字段设置为null(writeObject()),然后在逆串行化期间再恢复这些字段(readObject())。
但是 在会话迁移中 一定会调用这些方法 所以,如果你想保存和恢复属性中的实例变量状态,可以使用HttpSessionActivationListener,并使用两个事件回调方法(sessionDidActivate()和sessionWillPassivate()),就像使用redadObject()和writeObject()一样

 

import javax.servlet.http.*;

 public class SessionCounter implements HttpSessionListener{

    static priate int  activeSessions;

 

     public static int getActiveSessions() {                                 //  这个类回想所有其他WEB-app类一样  部署在    WEB-INF/classes中,  这样所有 servlet和其他辅助类都能访问这个方法。

        return activeSeesions;  
 }

     public void sessionCtreated(HttpSessionEvent event){     //  取一个HttpSessionEvent参数

        activeSeesions++;

 }

     public void seesionDestroyed(httpSessionEvent event){   //  取一个HttpSessionEvent参数

        activeSeesions--;

 }

}

 

——————————————————————————————————————————

HttpSession.getAttribute(String)的返回类型是Object

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值