①服务器在客户端保存用户的信息,比如用户名、密码等,就是cookie
②Cookie可以用来:
- 保存上次登录时间等信息
- 保存用户名、密码,在一定时间不用重新登录
- 记录用户访问网站的喜好(比如有无背景音乐、网页的背景色等)
- 网站的个性化,比如定制网站的服务、内容
③Cookie的使用
- Cookie有点像一张表,分两列,一个是名字,一个是值,数据类型都是String
- Cookie可以被多个浏览器共享
- Cookie存放采用明文方式,因此安全性较低,可以通过加密后 保存
-
// 格式化日期
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowDate = simpleDateFormat.format(new Date());
// 创建Cookie(在服务端创建,不能存放对象)
// ---对中文的处理---
String val = URLEncoder.encode("小虾米", "UTF-8");
Cookie cookie = new Cookie("date", nowDate);
Cookie cookie2 = new Cookie("name", val);
// 设置生命周期,如果不设置,则该Cookie的生命周期随浏览器关闭而消亡
cookie.setMaxAge(3600);
// 回写给浏览器(将Cookie添加到客户端) 保存cookie的关键
response.addCookie(cookie);
//-------------------------
// 读取cookie,再进行筛选(得到该应用的cookie,从客户端读到服务器)
Cookie cookies[] = request.getCookies();
for(int i=0; i<cookies.length; i++) {
Cookie cookie = cookies[i];
out.println(cookie.getName() + " : " + cookie.getValue());
}
// ---对中文的处理---
String val = URLDecoder.decode(cookie.getValue(), "utf-8");
//------------- 删除cookie ------------
if(cookie.getName().equals("date")) {
cookie.setMaxAge(0);
response.addCookie(cookie);
}