对Cookie的简单操作

本文仅为个人学习笔记,如有错误请给予指点,谢谢!!!

 

什么是Cookie:

cookies是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段:Netscape Navigator使用一个名为cookies.txt本地文件保存从所有站点接收的Cookie信息;而IE浏览器把Cookie信息保存在类似于C:\windows\cookies的目录下。当用户再次访问某个站点时,服务端将要求浏览器查找并返回先前发送的Cookie信息,来识别这个用户。​​

 1 // 创建Cookie
 2 
 3 Cookie cookie1 = new Cookie("key", "value");// 创建一个cookie,指定键、值;
 4 
 5 //Cookie的生命周期
 6 
 7 cookie1.setMaxAge(-1);// cookie的maxAge属性的默认值就是-1,表示只在浏览器内存中存活。一旦关闭浏览器窗口,那么cookie就会消失。
 8 
 9 cookie1.setMaxAge(60);// 表示cookie对象可存活1小时。当生命大于0时,浏览器会把Cookie保存到硬盘上,就算关闭浏览器,就算重启客户端电脑,cookie也会存活1小时;
10 
11 cookie1.setMaxAge(0);// 浏览器会吗哈桑删除这个cookie
12 
13 // 获取CookieCookie只能从request中获取全部Cookie,然后循环迭代。
14 
15 Cookie[] cs = request.getCookies();// 获取请求中的Cookie
16 
17 if (cs != null) {// 如果请求中存在Cookie
18 
19    for (Cookie c : cs) {// 遍历所有Cookie
20 
21 if (c.getName().equals("id")) {// 获取Cookie名字,如果Cookie名字是id
22 
23    response.getWriter().print("您的ID是:" + c.getValue());// 打印Cookie值
24 
25 }
26 
27    }
28 
29 }
30 
31 //删除Cookie
32 
33 Cookie[] cookies = request.getCookies();  
34 
35 if (cookies != null && cookies.length > 0) {  
36 
37    for (Cookie cookie2 : cookies) {  
38 
39        String name = cookie2.getName();  //获取Cookie的键
40 
41        // 根据Cookie的键找到需要删除的Cookie  
42 
43        if (name.compareTo("key") == 0) {  
44 
45            // 设置生存期为0  
46 
47            cookie2.setMaxAge(0);  
48 
49            // 设回Response中生效  
50 
51            response.addCookie(cookie2);  
52 
53        }  
54 
55    }  
56 
57 }  
58 
59 //删除Cookie
60 
61 Cookie cookie3 = new Cookie("key", "value");
62 
63 cookie3.setMaxAge(0);
64 
65 //在响应中添加Cookie对象
66 
67 response.addCookie(cookie);

 

注意!!

Cookie的name和value都不能使用中文,如果希望在Cookie中使用中文,那么需要先对中文进行URL编码,然后把编码后的字符串放到Cookie中。

向客户端响应中添加Cookie

String name = URLEncoder.encode("姓名", "UTF-8");

String value = URLEncoder.encode("张三", "UTF-8");

Cookie c = new Cookie(name, value);

c.setMaxAge(3600);

response.addCookie(c);

 

转载于:https://www.cnblogs.com/Xsum/p/5139414.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值