一、前言
1.为什么需要会话管理
HTTP是无状态协议,自身不对请求和响应之间的通信状态进行保存
简单理解就是浏览器发送请求,服务器接收并响应,但是服务器不记录请求是否来自哪个浏览器以及浏览器的特征
举例:张三去一家饭馆点了几道菜,觉得味道不错,第二天又去了,对老板说,还点上次的那几道菜。无状态就是老板没有记录张三是否来过,更没有记录上次他点了那些菜,张三只能重新再点一遍
在会话管理中我们使用Cookie和Session保存信息
二、Cookie
Cookie是一种客户端会话技术,是由服务端产生并保存在客户端的一小份数据(键值对)
1.cookie的获取
Cookie[] cookies = req.getCookies(); // 没有cookie时值为null
2.cookie的创建
如果客户端有cookie,则会以cookie请求头的形式携带
而客户端可以设置cookie并在响应报文中发送至客户端
//创建Cookie
Cookie cookie1 = new Cookie("c1","c1_message");
Cookie cookie2 = new Cookie("c2","c2_message");
//将cookie放入响应对象
resp.addCookie(cookie1);
resp.addCookie(cookie2);