博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cookie的存活时间
阅读量:5959 次
发布时间:2019-06-19

本文共 1854 字,大约阅读时间需要 6 分钟。

1. 默认情况下,cookie数据保存到内存里,当浏览器关闭后,Cookie数据被销毁

2. 持久化存储:
  setMaxAge(int seconds)
    1. 正数:将Cookie数据写到硬盘的文件中,持久化存储。并指定cookie存活时间,时间到后,cookie文件自动失效。

    2. 负数:默认值,即关闭浏览器后,cookie即失效

    3. 零:删除cookie信息

      setMaxAge为正数时的情况如下:

   重启浏览器 不关闭浏览器
cookie时间未到 能访问cookie 能访问cookie
cookie时间到 不能访问cookie 能访问cookie

 

 

 

代码如下:

第一个servlet【比如是CookieDemo01】中的代码如下:

1 import javax.servlet.http.Cookie; 2 //--------省略若干代码----------- 3 protected void doGet(HttpServletRequest request, HttpServletResponse response)  4         throws ServletException, IOException { 5     //1.创建Cookie对象,绑定数据【name是"msg",value是"hello"】 6     Cookie c = new Cookie("msg", "hello"); 7     //2.设置Cookie存活时间 8     c.setMaxAge(300);//(1).将Cookie持久化到硬盘,300秒后会自动删除 9     //c.setMaxAge(-1);//(2).默认值,一次浏览器会话10     //c.setMaxAge(0);//(3).删除Cookie11     //3.发送Cookie对象【只有发送Cookie的浏览器可以获取Cookie】12     response.addCookie(c);13 }14 //--------省略若干代码-----------

 

第二个servlet【比如是CookieDemo02】中的代码如下:

1 import javax.servlet.http.Cookie; 2 //--------省略若干代码----------- 3 protected void doGet(HttpServletRequest request, HttpServletResponse response) 4         throws ServletException, IOException { 5     //3.获取Cookie 6     Cookie[] cs = request.getCookies(); 7     //4.遍历Cookies 8     if(cs!=null){ 9         for(Cookie c:cs){10             String name = c.getName();11             String value = c.getValue();12             System.out.println(name+":"+value);13         }14     }15 }16 //--------省略若干代码-----------

验证:

打开Tomcat服务器,先运行第一个servlet【创建Cookie,声明Cookie生命周期,发送Cookie】,再运行第二个servlet【获取并遍历Cookie】,发现控制台上输出Cookie的name和value【即msg:hello】。

代码说明:

第一个servlet中:

(1).如果【c.setMaxAge(300)】,cookie会持久化到硬盘300秒,在这300秒内,关闭浏览器后再打开浏览器,也能访问到cookie。如果一直不关闭浏览器,300秒后也能访问。

(2).如果【c.setMaxAge(-1)】,只要浏览器不关闭,cookie不会失效。

(3).如果【c.setMaxAge(0)】,删除cookie信息。

 

说明:

日期:2019-03-07  08:39:31

转载于:https://www.cnblogs.com/cuishh/p/10487284.html

你可能感兴趣的文章
国内较快的maven镜像
查看>>
漫谈递归转非递归
查看>>
第 52 章 SQL Statement Syntax
查看>>
mysql 修改表名的方法:sql语句
查看>>
JQuery实现日期联动
查看>>
eclipse让Html Javascript 自动提示
查看>>
常用网址记录
查看>>
Java的垃圾回收之算法
查看>>
利用Aspose.Word控件实现Word文档的操作
查看>>
72.8. ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
查看>>
通过Python处理Android API Doc离线访问
查看>>
MobaXterm连接Telnet设置方法
查看>>
I.MX6Q MfgTool2 ucl2.xml eMMC
查看>>
手把手教你使用Markdown
查看>>
iOS - Quartz 2D 贝塞尔曲线
查看>>
【基础进阶】URL详解与URL编码
查看>>
[家里蹲大学数学杂志]第425期一个定积分的计算
查看>>
[禅悟人生]责任是源自内心的自觉
查看>>
Navicat for Oracle实现连接Oracle
查看>>
windows下mysql表名不自动转换小写配置
查看>>