/*
1. 作用: 解决了一个用户的不同请求的数据共享问题
2. 原理:
用户第一次访问服务器, 服务器会创建一个Session对象给此用户,
并将该Session对象的JSESSIONID使用Cookie技术存储到浏览器中,
保证用户的其他请求能够获取到同一个Session对象,
也就保证了同一个用户的不同请求能够获取到共享数据
3. 特点:
存储在服务器端, 由服务器进行创建, 依赖Cookie技术
4. 使用:
// 创建和获取Session对象
HttpSession session = req.getSession();
如果请求中拥有Session的标识符, 也就是JSESSIONID, 则返回对应的Session对象
如果请求中没有Session的标识符, 则创建新的Session对象,
并将其JSESSIONID封装成Cookie对象存储到浏览器的内存中,
如果Session对象失效了, 也会重新创建一个Session对象
注意: JSESSIONID存储在了Cookie的临时存储空间中, 浏览器关闭即失效
// 设置Session的存储时间, int值为多少秒
session.setMaxInactiveInterval(int);
Session的默认存储时间位30分钟
在指定的时间内, Session对象没有被使用, 则销毁, 如果使用了, 则重新计时
// 强制Session对象失效
session.invalidate();
// 存储数据
session.setAttribute("key", "value");
// 获取数据
session.getAttribute("key");
存储的动作和取出的动作可以发生在不同的请求中, 但存储要先于取出执行
5. Session失效处理
将用户请求中的JSESSIONID和后台获取到的Session对象的JSESSIONID进行比对,
如果一致, 则Session没有失效, 如果不一致, 则说明了Session对象失效了,
这时可以重定向到登录页面, 让用户重新登录
*/