什么是Cookie?
cookie是web服务器发送给客户端的一段文本信息,它存储在客户端的硬盘上。对于发送给同一个服务器的后续请求,客户端会自动加载本地的cookie。
注意:
cookie以"属性名=属性值;..."方式组成文本信息
创建并向客户端发送cookie:
1、创建cookie对象
调用cookie的构造方法,给出cookie的名称和cookie的值,二者都是字符串类型。
Cookie c = new Cookie(" ", );
2、设置最大时效
如果想要告诉浏览器将cookie存储到磁盘上,而非仅保存早内存中,使用setMaxAge方法(参数为秒)。
c.setMaxAge();
3、将cookie放入到HTTP响应中
一个使用response.addCookie(c);
如果没有这一步,将不会有任何cookie被发送到浏览器。
从客户端获取cookie:
调用request.getCookies
方法
1、得到Cookie
对象组成的数组
2、循环数组,调用每个对象的getName
找到想要的Cookie
3、根据应用程序调用getValue
方法使用这个Cookie
Cookie的优缺点:
优点:
1、可配置到期规则,数据可持久保存;
2、不需要服务器资源,数据保存在客户端;
3、简单性,基于文本的key-value对
缺点:
1、大小受到限制(总数300;20/站点;4kb/cookie);
2、用户可禁用客户端接收cookie的功能;
3、潜在的安全风险