Cookie与Session是Web开发中,常见的两种技术,今天我们就来探讨一下这两种技术。
Cookie与Session是什么?
Http协议是基于请求应答机制的无状态的一种协议。这意味着浏览器向服务器发起http请求(比如登录),服务器也回应了,登录成功了。这时我们刷新页面,再次发起一次请求,因为Http协议无状态,所以记不住上次已经登录过了,还得重新登录。
针对Http协议的老年痴呆症,我们想了一个办法,能够将http请求的数据信息保存起来,下一次进行请求的时候能够携带上,这个办法就是Cookie与Session。
Cookie:
数据信息保存在客户端
Session:
数据信息保存在了服务器
Cookie与Session的交互
Cookie使用
1.服务端设置Cookie:
Cookie cookie = new Cookie("BD_HOME", "1");
// 设置Cookie的路径为根目录
cookie.setPath("/");
// 设置Cookie的有效期为1小时
cookie.setMaxAge(3600);
// 将Cookie添加到响应中(客户端没有Cookie新建,有的话就更新)
response.addCookie(cookie);
2.浏览器保存Cookie:
3.前端发送请求携带Cookie
4.后端读取前端传递的Cookie
Cookie[] sessioncookies = request.getCookies();
Session使用:
1.Session中存储userName
request.getSession().setAttribute("username", “123456”);
2.Session中读取userName
String username = (String) request.getSession().getAttribute("username");