Cookie总结

Cookie:

  • Cookie是完成会话跟踪的一种机制;采用的是在客户端保持HTTP状态信息的方案。
  • Cookie是在浏览器访问Web服务器的某个资源时,由Web服务器在HTTP响应消息头中附带传给浏览器的一个小文本文件。
  • 一旦Web浏览器保存了某个Cookie,那么以后每次在访问该Web服务器时都会在HTTP请求头中将这个Cookie回传给Web服务器。

 

常用API:

  • 创建一个Cookie对象
Cookie cookie = new Cookie("cookieName", "cookieValue");
  • 设置Cookie的最大时效

以秒为单位;

若为0,表示立即删除该Cookie;

若为正数,表示该Cookie的存储时间;

若为负数,标识不存储该Cookie;

cookie.setMaxAge(10);
  • 设置Cookie的作用范围

可以作用当前目录和当前目录的子目录;

但不能作用于当前目录的父级目录;

cookie.setPath(request.getContextPath());
  • 获取当前所有Cookie
Cookie[] cookies = request.getCookies();
  • 把Cookie传给客户端
response.addCookie(cookie);

会话Cookie和持久化Cookie:

  • 如果不设置Cookie的最大时效,则表示这个Cookie的生命周期为浏览器的会话时间,只要关闭浏览器窗口,Cookie就自然消失了。这种生命周期为浏览器会话期的Cookie被称为会话Cookie。会话Cookie一般不保存在硬盘上而是保存在内存里。
  • 如果设置了Cookie的最大时效,浏览器会把Cookie保存在硬盘上,关闭后再次打开浏览器,这些Cookie依然有效直到超过设定的过期时间。
     

常用涉及业务:

  • 自动登录
  • 显示浏览过的商品信息

常用功能:

  • 创建一个Cookie并传给客户端
Cookie cookie = new Cookie("cookieName", "cookieValue");
response.addCookie(cookie);
  • 删除所有Cookie
Cookie[] cookies = request.getCookies();
int length = cookies.length;
if (cookies != null && length != 0) {
    for (Cookie cookie : cookies) {
        cookie.setMaxAge(0);
		cookie.setPath(request.getContextPath());
        response.addCookie(cookie);  
    }
}
  • 删除指定Cookie
// 传入要删除Cookie的Name, 将值设置为null
Cookie cookie = new Cookie("deleteCookieName", null);
// 最大时效为0表示删除该Cookie
cookie.setMaxAge(0);
// 设置有效路径为工程路径(有时删除失败因为有效路径设置错误)
cookie.setPath(request.getContextPath());
// 将该Cookie传给客户端,删除成功
response.addCookie(cookie);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值