每次登陆时,主要勾选了“记住登陆状态”,那都会生成2个新的cookie吗,那原来旧cookie等着超时自动销毁吗?
设置Cookie对象的有效时间, setMaxAge()方法便可以设置Cookie对象的有效时间,
例如:Cookie c = new Cookie("username","john");
c.setMaxAge(60);//60秒的意思
c.setMaxAge(60*60);//一小时
c.setMaxAge(365*24*60*60);//一年
如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。
这种生命期为浏览会话期的cookie被称为会话cookie。会话cookie一般不保存在硬盘上而是保存在内存里。
如果设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie依然有效直到超过设定的过期时间。存储在硬盘上的cookie可以在不同的浏览器进程间共享,比如两个IE窗口。而对于保存在内存的cookie,不同的浏览器有不同的处理方式。
cookie.setmaxage设置为0时,会马上在浏览器上删除指定的cookie
cookie.setmaxage设置为-1时,代表关闭当前浏览器即
设置上一次的cookie失效,重新保存cookie
c.setMaxAge(0); //设置Cookie失效
response.addCookie(c); //重新保存。