Java Servlet cookie

版权声明:本文为作者创作,转载请注明出处:http://blog.csdn.net/claroja,如有商业用途请联系QQ:63183535。 https://blog.csdn.net/claroja/article/details/90056433

会话:会话包含多次的请求和响应,一次会话就是指浏览器打开到浏览器关闭
Cookie:在多次请求和响应(一次会话)中间利用客户端共享数据

方法 描述
new Cookie(String name, String value) 创建cookie
response.addCookie(Cookie cookie) 添加cookie,可以添加多个cookie,访问时会组合成一个cookie
Cookie[] request.getCookies() 获取cookie
setMaxAge(int seconds) 设置cookie的有效时长(在硬盘中)正数:秒数,负数:浏览器关闭删除,零:删除cookie
setPath(String path) 默认是每个项目的虚拟目录,如果想要共享cookie需要将path设置为“/”
setDomain(String path) 设置不同服务器cookie共享

原理
每次调用addCookie方法会在request响应头设置set-cookie
每次调用getCookie方法会访问response响应头cookie

中文
tomcat8之前需要将中文数据转码为URL编码,存入。
tomcat8之后支持中文,但是特殊字符不支持,建议用URL编码存储。

共享
1.在一个tomcat服务器,多个web项目,默认不能共享,可以设置setPath(String path)来共享cookie
2.不同tomcat服务器,默认不共享,可以设置setDomain(String path)同一级域名,那么久能共享。

比如.csdn.net可以共享https://edu.csdn.net/https://bbs.csdn.net/

大小和数量
一个cookie最大为4kb,同一个域名最多20个cookie

展开阅读全文

没有更多推荐了,返回首页