Cookie的实现是基于HTTP协议的,响应头:set-cookie,请求头:cookie
Cookie的存活时间:默认情况下,Cookie存储在浏览器内存中,浏览器关闭,内存释放,Cookie就销毁
setMaxAge(int seconds):设置Cookie存活时间:
正数:将Cookie写入浏览器所在电脑的硬盘,持久化存储,到时间自动删除
负数:默认值,Cookie在当前浏览器内存中,浏览器关闭,Cookie即销毁
零:删除对应Cookie
例:
//创建cookie对象
Cookie cookie = new Cookie("username","jack");
//设置存活时间,七天
cookie.setMaxAge(60*60*24*7);
//发送
response.addCookie(cookie);
Cookie不能直接存储中文,如需存储,需要进行转码:URL编码
例:
String value = "赵芸";
value = URLEncoder.encode(value,"UTF-8");
Cookie cookie = new Cookie("username",value);
//设置存活时间,七天
cookie.setMaxAge(60*60*24*7);
//发送
response.addCookie(cookie);
//获取Cookie数组
Cookie[] cookies = request.getCookies();
//遍历Cookie
for (Cookie cookie : cookies) {
String name = cookie.getName();
if ("username".equals(name)){
//获取数据
String value = cookie.getValue();
//URL解码
value = URLDecoder.decode(value, "UTF-8");
System.out.println(name+":"+value);
break;
}
}
网友评论