Cookie的存活时间

Cookie的存活时间

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).删除Cookie

11 //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

相关文章

韓劇奇怪的搭檔每集劇情介紹(1-40集)大結局
365bet娱乐网址

韓劇奇怪的搭檔每集劇情介紹(1-40集)大結局

📅 06-27 👁️ 7466
海尔台式机笔记
365bet娱乐网址

海尔台式机笔记

📅 06-27 👁️ 9350
战神图文攻略完整版(战神3图文攻略)
365bet娱乐网址

战神图文攻略完整版(战神3图文攻略)

📅 06-30 👁️ 4095