什么是cookie?
Cookie:客户端会话技术,将数据保存到客户端,以后每次请求都携带Cookie数据进行访问,Cookie 数据存放在浏览器端(客户端)。
创建cookie
下面是创建cookie的示例代码:
// 1.创建cookie,key是数据的名称,value是数据的值
cookie cookie = new cookie("key","value");
// 2.使用response响应Cookie给客户端(浏览器)
response.addCookie(cookie);
获取cookie
每次用户访问servlet的时候,客户端会携带数据,一起发送过来,这个时候就可以使用httpservlet中的request对象获取到cookie的值。
下面是示例代码:
Cookie[] cookies = req.getCookies();//此处通过request获取传输过来的Cookies集。
//下面对传输过来的Cookies集进行遍历输出
for (int i = 0; i < cookies.length; i++) {
Cookie cookie = cookies[i];
System.out.println("key:" + cookie.getName() + "," +cookie.getValue());
}
封装一个直接通过cookie名字查找到cookie值的方法
public static Cookie findCookie(String name , Cookie[] cookies){
if (name == null || cookies == null || cookies.length == 0) {
return null;
}
for (Cookie cookie : cookies) { //此处含义是循环cookies集中的每个值,赋给cookie
if (name.equals(cookie.getName())) {
return cookie;
}
}
return null;
}
设置Cookie的过期时间
setMaxAge(int seconds):设置Cookie存活时间
1.正数:将Cookie写入浏览器所在的电脑硬盘,持久化存储,到期自动删除
2.负数:默认值,Cookie存储在浏览器内存中,当浏览器关闭,内存释放,则Cookie被销毁。
3.零:删除对应Cookie