当前位置: java基础教程 > 22-servlet框架 > 阅读正文

cookie及其应用

2021.3.8.   498 次   1074字

客户端会话技术,将数据保存到客户端。

1.cookie的类包

对cookie的管理需要使用javax.servlet.http.Cookie类,也就是servlet的子包,导入servlet后,默认就可以使用cookie

2.创建cookie对象
Cookie myCookie = new Cookie("name","value");

其中的name和value均为字符串。是cookie的名和值,cookie格式是键值对。

3.发送cookie到客户端
response.addCookie(myCookie);
4.设置cookie的存活时间
myCookie.setMaxAge(60*60*24*7);

默认单位是秒,这里设置为一个星期

5.从客户端获取cookie

首先,使用request对象获取所有cookie

Cookie[] cookies = request.getCookies();

想要获取某个cookie,必须遍历cookie数组,以获得它的值

String cookieName = "name";
String cookieValue = null;
if(cookies!=null){
  for(int i=0;i<cookies.length;i++){
    Cookie cookie = cookies[i];
    if(cookie.getName().equals(cookieName)){
      cookieValue = cookie.getValue();
    }
  }
}
6.cookie类的常用方法
  • public String getName();返回cookie名称
  • public String getValue();返回cookie的值
  • public void setValue(String new Value);设置cookie的值
  • public void setMaxAge(int expiry);设置存活时间
    • 正数,存活的秒数
    • 负数,默认值
    • 零,立即删除
  • public int getMaxAge();返回存活时间
  • public void setDomain(String pattern);设置cookie的域名,以.开头
  • public String getDomain();返回cookie的域名
7.设置cookie的作用路径(不太常用)
cookie.setPath(String path);
8.cookie的特点
  • 存储在客户端浏览器(所以不太安全)
  • 浏览器对cookie有限制
    • 单个cookie的大小(4kb)
    • 单个域名下cookie数量(20个)
9.cookie的作用
  • 只能存放少量敏感的数据
  • 在不登录的情况下,完成服务器对客户端的身份识别

本篇完,还有疑问?

加入QQ交流群:11500065636 IT 技术交流群