- what’s Cookie
- 服务器在客户端保存用户的信息,eg:登录名,密码等
- 数据不大,服务器端在需要时,从客户端读取它们
- 一般保存在客户端的C:\Documents and Settings目录下
- Cookie的作用
- 保存用户名和密码
- 记录用户访问网址的喜好,如是否有音乐,网页背景等
- 网站的个性化,如定制网站的服务
- Cookie的基本用法
- 我们可以把Cookie想象成一张表一样,表里分成了两列,一个是String类型的名字,一个是String类型的值
- 服务器端创建一个Cookie
Cookie c = new Cookie(name,val);
- 将一个Cookie添加到客户端
- 从客户端到服务器读取Cookie
- 设置Cookie存在的时间
c.setMaxAge(30);//例如设置为30秒,但如果不设置Cookie存在时间,Cookie就不会被保存,同理,也可以通过设置存在时间为0来删除Cookie
- 服务器向客户端写入Cookie
Cookie c = new Cookie("name","Tom");
c.setMaxAge(30);
response.addCookie(c);
ServletRequest req;
PrintWriter pw = null;
Cookie [] allCookies = req.getCookies();
int i = 0;
if(allCookies!=null){
for(i = 0;i < allCookies.length;i++){
Cookie temp = allCookie[i];
if(temp.getName().equals("Name")){
String val = temp.getValue();
break;
}
}
if(allCookies.length==i)
pw.println("Cookie已过期!");
}else{
pw.println("不存在Name这个Cookie,或者Cookie已过期!");
}
- 删除Cookie
- 删除Cookie其实在前面已经提及了,方法如下:
- 按读取Cookie的方法将Cookie读取出来,再通过c.setMaxAge(0);将该Cookie删去。
- Cookie其他说明
- 可通过【IE—工具—Internet选项—隐私—高级】来启用或者禁用Cookie
- 由于Cookie的信息是保存在客户端的,所以可想而知安全性不高
- Cookie的生命周期可在创建时设置,从创建那一刻起就开始计时,时间一到Cookie信息就无效了