Cookie = ?
存储在用户本地终端上的数据
Cookie,有时也用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。定义于 RFC2109 和 2965 中的都已废弃,最新取代的规范是 RFC6265 [1] 。(可以叫做浏览器缓存)
常用方法:
1.创建Cookie
Cookie ck = new Cookie("name", "rosin");
Cookie ck2 = new Cookie("goods", "pen");
2.set-Cookie 将信息写入浏览器
response.addCookie(ck);
response.addCookie(ck2);
3.遍历Cookie,获取其存储数据
Cookie[] ckc = request.getCookies();
if (ckc.length > 0&&ckc!=null) {
for (Cookie cookie : ckc) {
System.out.println(cookie.getName());
System.out.println(cookie.getValue());
//判断key值是否相等 System.out.println(cookie.getName().equals("name"));
}
4.设置 Cookie 最大存活时间,
可以将cookie保存在浏览器所在的硬盘上(默认时长30min)
ck.setMaxAge(30*60); //30min,60s Max-age = 1800s
5.设置Cookie的适用路径,实现共享数据(下图所示)
@WebServlet("/cookie")
Cookie ck = new Cookie("name", "rosin");
Cookie ck2 = new Cookie("goods", "kora");
response.addCookie(ck);
response.addCookie(ck2);
ck.setPath("/day02/tcp");
@WebServlet("/tcp")
Cookie ck2 = new Cookie("goods", "pen");
Cookie ck3 = new Cookie("ais", "cookie");
response.addCookie(ck2);
response.addCookie(ck3);
