黑马程序员技术交流社区
标题:
java4.25
[打印本页]
作者:
枷档不弯
时间:
2019-4-25 12:48
标题:
java4.25
Cookie:
1. 概念:客户端会话技术,将数据保存到客户端
2. 快速入门:
使用步骤:
1. 创建Cookie对象,绑定数据 new Cookie(String name, String value)
2. 发送Cookie对象 response.addCookie(Cookie cookie)
3. 获取Cookie,拿到数据 Cookie[] request.getCookies()
3. 实现原理:基于响应头set-cookie和请求头cookie实现
4. cookie的细节
1. 一次可不可以发送多个cookie?
可以,创建多个Cookie对象,使用response调用多次addCookie方法发送cookie
2. cookie在浏览器中保存多长时间?
1. 默认情况下,当浏览器关闭后,Cookie数据被销毁
2. 持久化存储:setMaxAge(int seconds)
a. 正数:将Cookie数据写到硬盘的文件中。持久化存储。并指定cookie存活 时间,时间到后,cookie文件自动失效
b. 负数:默认值
C.零:删除cookie信息
3. cookie能不能存中文?
在tomcat 8 之前 cookie中不能直接存储中文数据。需要将中文数据转码---一般采 用URL编码(例如:%E3)
在tomcat 8 之后,cookie支持中文数据。特殊字符还是不支持,建议使用URL编 码存储,URL解码解析
4. cookie共享问题?
1. 假设在一个tomcat服务器中,部署了多个web项目,那么在这些web项目中 cookie能不能共享?
默认情况下cookie不能共享
setPath(String path):设置cookie的获取范围。默认情况下,设置当前的虚拟目 录相当于默认情况下有这行代码:c1.setPath(“/day16”);
如果要共享,则可以将path设置为"/" 例如:c1.setPath(“/”);
2. 不同的tomcat服务器间cookie共享问题?
setDomain(String path):如果设置一级域名相同,那么多个服务器之间cookie可 以共享
如:setDomain(".baidu.com"),那么tieba.baidu.com和news.baidu.com中cookie 可以共享
注:public void setPath(String uri) 设置cookie的有效路径,比如把cookie的有 效路径设置为"/xdp",那么浏览器访问"xdp"目录下的web资源时,都会带上 cookie,再比如把cookie的有效路径设置为"/xdp/gacl",那么浏览器只有在访问 "xdp"目录下的"gacl"这个目录里面的web资源时才会带上cookie一起访问,而当 访问"xdp"目录下的web资源时,浏览器是不带cookie的。
5. Cookie的特点和作用
1. cookie存储数据在客户端浏览器
2. 浏览器对于单个cookie 的大小有限制(4kb) 以及 对同一个域名下的总cookie数 量也有限制(20个)
作用:
1. cookie一般用于存储少量的不太敏感的数据(相较于服务器不安全)
2. 在不登录的情况下,完成服务器对客户端的身份识别
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2