什么是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")