Java Servlet cookie

会话:会话包含多次的请求和响应,一次会话就是指浏览器打开到浏览器关闭
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值