浅谈Cookie与Session

  • 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值