10 Cookie的使用

什么是cookie

cookie保存在客户端(浏览器),它绑定了访问一个网页时的特定信息,通常为表单数据。通过cookie我们可以实现表单自动填充,账号免登陆等功能。

使用Cookie

创建Coolie对象

  • Cookie c = new Coolie(String name,String value);//是一个键值对

设置cookie时效

  • c.setMaxAge(3*24*3600);//设置3天时效,单位:秒

设置cookie绑定地址

当我们没有给cookie指定一个特定的地址时,访问该网站的所有网页都会附带此cookie。我们应当指定一个特定的url,只有访问该地址时,才在请求头中附加该cookie。

  • c.setPath("URL");//注意要填写的是 “项目名/指定地址”,如:DeomProject/login

获取Cookie

我们同样需要从请求中提取cookie来进行操作。提取代码如下:

Cookie[] cks = req.getCookies();
if(cks!=null){
  for(Cookie c : cks){
        String name = c.getName();
        String value = c.getValue();
    }  
}

  

响应Cookie信息给客户端

  • resp.addCookie(c);//Cookie在servlet中使用

注意

一个Cookie对象存储一条数据,如果需要存储多条数据,则需要创建多个cookie

特点

  • 浏览器端的数据存储技术
  • 存储的数据声明在服务器端
  • 临时存储:存储在浏览器的运行内存,浏览器关闭时即失效
  • 定时存储:设置了Cookie的有效期,存储在客户端的硬盘中,在有效期内访问符合路径的请求都会在请求头中附带该信息。

下面展示cookie在请求中的表现

//创建Cookie
Cookie c = new Cookie("key","keyTest");
//设置cooKies时效
c.setMaxAge(3*24*3600);//设置3天时效,单位:秒
resp.addCookie(c);

  

首次访问,请求头中没有cookie,第二次访问,请求头中带入cookie

JQuery存取cookie

需要引入jquery.cookie.js

$.cookie("cookieName","data",{"expires":7});//expires表示有效期

  

$.cookie("cookieName")

  

原文地址:https://www.cnblogs.com/Scorpicat/p/12346812.html