Cookie
Posted tractors
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cookie相关的知识,希望对你有一定的参考价值。
一、Cookie的概念:
Cookie是由服务器创建,然后通过响应发送给客户端的一个键值对。
特点:
1.客户端会保存Cookie,并会标注出Cookie的来源(哪个服务器的Cookie)。
2.当客户端向服务器发出请求时会把所有这个服务器Cookie包含在请求中发送给服务器,这样服务器就可以识别客户端了。
3.不同浏览器之间是不共享Cookie的。
二、注意点:
1)在tomcat8.0之前,Cookie中不允许存放中文
2)在tomcat8.0之后,Cookie中不建议存放中文
3)Cookie的value不允许包含空格以及某些特殊符号
4)重复设置相同名称的Cookie会覆盖前面的;
三、Cookie与http头:
(1)请求头:客户端发送给服务器;
格式:Cookie: a=A; b=B; c=C。即多个Cookie用分号隔开;
(2)响应头:服务端发送给客户端;
格式:一个Cookie对象一个Set-Cookie;
Set-Cookie: a=A
Set-Cookie: b=B
Set-Cookie: c=C
二、Cookie创建(构造):
new Cookie(String name,String value);
三、Cookie获取/设置:
(1)设置:调用response方法;
response.addCookie(Cookie cookie);
(2)获取:调用request方法;
Cookie[] request.getCookies();
//获取到的不是原来的cookie对象,是根据浏览器存的键值对创建的新cookie对象;
四、生命周期:
(1)设置最大存活时间:void setMaxAge(int second);
//参数second:-1:表示一旦浏览器关闭则销毁;
0:表示直接作废,可用于删除原有的Cookie;
60*60:单位是秒;表示存活1个小时,即使浏览器关闭或者电脑重启,都保留一个小时;
(2)获取最大存活时间:int getMaxAge()
五、路径设置:
(1)路径设置:cookie.setPath(“/cookietest/servlet”);
//如果没有设置路径,那么Cookie路径默认为当前资源的路径;
例如:
(1)访问http://localhost:8080/cookietest/AServlet时添加的Cookie默认路径为/cookietest;
(2)访问http://localhost:8080/cookietest/servlet/BServlet时添加的Cookie默认路径为/cookietest/servlet;
(3)访问http://localhost:8080/cookietest/jsp/BServlet时添加的Cookie默认路径为/cookietest/jsp;
以上是关于Cookie的主要内容,如果未能解决你的问题,请参考以下文章