概念
- 服务器端会话技术,在一次会话的多次请求共享数据,将数据存在服务器端的对象(HttpSession)中
- 获取
- HttpSession session = request.getSession();
- 使用
- Object getAtrribut(String name)
- Void setAtrribue(String name, Object value)
- Void removeArribute(String name)
- 原理
- Session的实现是依赖于Cookie的
- 客户端关闭 服务器不关闭 两次获取Session默认不是是同一个,如果需要相同可以创建Cookie,键为JSESSIONID,值为Session.getId()
- 客户端不关闭 服务器关闭 两次获取的Session 不是同一个,要确保数据不丢失
- Session的钝化
- 在服务器正常关闭之前,将Session对象序列化到硬盘
- Session的活化
- 在服务启动后,将Session文件转化为内存中Session对象
- Session的钝化
- Session的失效时间 也就被销毁
- 服务器关闭
- Session对象调用invalidate()
- session默认失效时间30分钟
- 特点
- Session用于存储一次会话的多次请求的数据,存在服务器端
- Session可以存储任意类型,任意大小的数据
- Session和Cookie的区别
- Session在服务器端 Cookie在客户端
- Session没有数据大小限制 Cookie有
- Session数据安全,Cookie相对不安全