目录
1. Cookie的大小与个数限制:
- 每个网站最多只能存20个cookie,且大小不能超过4kb。
- 同时,所有网站的cookie总数不超过300个。
2. 一次请求可不可以发送多个cookie?
可以创建多个Cookie对象,使用response调用多次addCookie方法发送cookie即可。
// 演示Cookie的使用 //1.创建cookie,绑定数据key:value Cookie cookie1 = new Cookie("msg","今天是星期几?"); Cookie cookie2 = new Cookie("anwser","星期五"); //2.通过response发送cookie对象 response.addCookie(cookie1); response.addCookie(cookie2); System.out.println("cookie发送完成");
3. cookie在浏览器中保存多长时间?
默认情况下,当浏览器关闭后,Cookie数据被销毁
持久化存储:
setMaxAge(int seconds)
正数:将Cookie数据写到硬盘的文件中。持久化存储。并指定cookie存活时间,时间到后,cookie文件自动失效。
负数:默认值。
零:删除cookie信息。
// 演示Cookie的使用
//1.创建cookie,绑定数据key:value
Cookie cookie = new Cookie("msg","今天是星期五");
cookie.setMaxAge(60*60*24);
System.out.println("保存24小时");
//2.通过response发送cookie对象
response.addCookie(cookie);
4. cookie能不能存中文?
在tomcat 8 之前 cookie中不能直接存储中文数据。
需要将中文数据转码---一般采用URL编码(%E3)
在tomcat 8 之后,cookie支持中文数据。特殊字符还是不支持,建议使用URL编码存储,URL解码解析。
5. cookie共享问题?
假设在一个tomcat服务器中,部署了多个web项目,那么在这些web项目中cookie能不能共享?
默认情况下cookie不能共享
setPath(String path):设置cookie的获取范围。默认情况下,设置当前的虚拟目录
如果要共享,则可以将path设置为"/"
// 演示Cookie的使用 //1.创建cookie,绑定数据key:value Cookie cookie = new Cookie("msg","今天星期几?"); //设置cookie范围 cookie.setPath("/"); //2.通过response发送cookie对象 response.addCookie(cookie);
如果对你有帮助,请帮我点一下赞,我才有动力继续创作,谢谢!