cookie小知识点儿总结
Posted wangdan1030
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cookie小知识点儿总结相关的知识,希望对你有一定的参考价值。
之前一直不是很理解cookie到底是如何工作的,今天我们来简单的看看cookie.一 cookie原理: 是由set-cookie发送的键--值,让浏览器记住信息。浏览器在之后的请求中会携带cookie 键--值给服务器、 二 cookie操作: 1.存cookie:创建并发送cookie给浏览器
Cookie cookie = new Cookie("name","tom");
response.addCookie(cookie);
2.取cookie : 浏览器将键值对发送给服务器服务取得
Cookie[] cookies=request.getCookies();<span style="font-family:Consolas;color:windowtext;font-size: 10pt;"> </span>
3. 遍历并判断cookie是否是要找的
for(Cookie c:cookies)
//鎵惧埌鎴戜滑瑕佺殑cookie
if(c.getName().equals("name"))
tageCookie=c;
三 操作Cookie 的保存时间:
//控制cookie的有效时间
//1.浏览器只能临时记住,浏览器一旦关闭,cookie就会丢失(保存在浏览器内存中)==》默认情况
cookie.setMaxAge(-1);
//2.浏览器记住一段时间,在这段时间内,不管浏览器打开关闭,都会保存,保存在硬盘上
cookie.setMaxAge(60*60);
//3.cookie到达浏览器立即失效(删除)
cookie.setMaxAge(0);
//4.cookie 存在覆盖性,覆盖的时候key必须一致,路径也必须一致
四 什么情况下浏览器才发送cookie:
cookie默认路径使用,发送cookie资源所在路径。
路径:
http://localhost:8080/test/BServlet
cookie路径:
http://localhost:8080/test/
当cookie路径一致时。浏览器会发送cookie,当cookie路径不一致时,不会发送cookie。
五 使用cookie发送中文:
因为http 不支持中文码表,所以在发送中文的时候需要对中文先进行编码,然后在发送
1.编码:
String name= URLEncoder.encode("汤姆","UTF-8");
Cookie cookie = new Cookie("name",name);
2.解码:
String name =URLDecoder.decode(tageCookie.getValue(), "UTF-8");
六 cookie的域:
cookie的域是当前使用主机所在的域,也可以手动设置。
当地址f分别为:map.test.com mail.test.com music.test.com的时候,如何实现cookie跨域?
1.域名设置为“.test.com”
2.cookie 路径设置为:“/”
以上是关于cookie小知识点儿总结的主要内容,如果未能解决你的问题,请参考以下文章