客户端会话技术,将数据保存到客户端。
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的作用
- 只能存放少量敏感的数据
- 在不登录的情况下,完成服务器对客户端的身份识别