-
Cookie
服务器发送给浏览器,想让浏览器保存的数据。
- HTTP是无状态协议
无状态:服务器无法分辨每次的请求来自谁。
所以Cookie相当于服务器让浏览器去保存一份数据,以后每次访问时带上相应的数据。
就像超市的会员卡一样,每次购物时出示会员卡 即可识别身份。
- Cookie的生命周期/最大存活时间(Max-Age)默认为一个session(即从打开一次浏览器到关闭该浏览器期间为cookie的生命周期)
//1.创建Cookie
Cookie cookie = new Cookie("username","lk");
//2.将Cookie发送给浏览器
response.addCookie(cookie);
//1.从请求头中获取所有的Cookie
Cookie[] cookies = request.getCookies();
//2.遍历获取到的cookie,拿到每个cookie的key和value
for(Cookie cookie : cookies){
//2.1拿到cookie的名字
String name = cookie.getName();
//2.2拿到cookie的值
String value = cooie.getValue();
}
//删除cookie
//1.MaxAge为0,表示删除cookie ; 为负数:表示不保存cookie ;为正数:设置存活时间
cookie.setMaxAge(0);
//2.设置后再次通知浏览器
response.addCookie(cookie);
//创建持久化cookie(浏览器关闭后,cookie依然存在至所设置的存活时间)
//1.修改cookie的存活时间
cookie.setMaxAge(60*60);
//2.通知给浏览器
response.addCookie(cookie);
//设置cookie路径(不希望访问所有资源都带上cookie)
//默认访问当前项目下所有资源都会携带cookie
//告诉浏览器,访问哪些路径带上此cookie
cookie.setPath("/xxx");
-
Session