Cookie的有效期setMaxAge方法
setMaxAge(int seconds)
该方法用于设置cookie的有效时间,传入的参数表示有效时间(秒),是int型的秒数值
seconds参数详解
(1) seconds<0
cookie.setMaxAge(-1);
设置负数的秒值,等同于--添加cookie时没有调用该方法,则浏览器默认将cookie保存在内存里,当浏览器关闭时,cookie从内存中释放(没有了)。
注:这种情况下,只要浏览器不关,cookie就会一直存在
(2) seconds=0
cookie.setMaxAge(0);
这种设置用于删除同名的cookie,在servlet中创建一个与已存在的cookie同名的cookie,设置该cookie生存时间为0,将该cookie添加进去,将覆盖原cookie,但因该cookie生存时间为0,所以会马上消失,起到了删除特定cookie的作用。
举例:
package web;
......
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
// 创建一个叫"siki"的cookie
Cookie c0 = new Cookie("siki","ds");
// 又创建一个叫"siki"的cookie,她将覆盖上面的cookie
Cookie c = new Cookie("siki",URLEncoder.encode("式","utf-8"));
// 设置新"sike"的生存时间为0
c.setMaxAge(0);
// 创建一个名叫"hokudokomoya"的Cookie
Cookie c1 = new Cookie("hokudokomoya",URLEncoder.encode("黑桐干也","utf-8"));
// 从响应对象将该Cookie发给浏览器(以setCookie消息头发送)
response.addCookie(c);
response.addCookie(c1);
out.close();
}
}
操作:浏览器访问该servlet,如图,访问成功
(3) seconds>0:表示将cookie在硬盘上存放seconds秒
cookie.setMaxAge(120);
该cookie将在硬盘中保存120秒,期间不管浏览器有没有关闭,该cookie都存在,但过了120秒后,该cookie将消失。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)