Session
-
概念:服务器端会话技术,再一次会话的多次请求间共享数据,将数据保存在服务器端的对象中。HttpSession
-
快速入门:
HttpSession对象: Object getAttribute(String name) void setAttribute(String name , Object value) void removeAttribute(String name)
-
Session是依赖于Cookie的
-
细节:
1、当客户端关闭过后,服务器不关闭,两次获取的session是否为同一个? 默认情况下:不是 如果需要相同,可以创建Cookie,健为JSESSIONID。设置最大存活时间,让Cookie持久化保存 Cookie c = new Cookie(name:"JSESSIONID",session.getID()); c.setMaxAge(60 * 60);//设置一个小时的存活时间 response.addCookie(c);//发送到客户端 2、客户端不关闭,服务器关闭后,两次获取的session是同一个吗? 不是同一个,但是要确保数据不丢失: *session的钝化: *服务器正常关闭之前,将session对象系列化到硬盘上 *session的活化“ *服务器启动后,将session文件转化为内存中的session对象即可 3、session的失效时间 1、服务器关闭 2、session调用一个自杀方法 invalidate() 3、默认的实效时间,30分钟 可以选择性的配置修改 <session-timeout>30</session-timeout>
-
session的特点
- session用于存储一次会话的多次请求的数据,存在服务器
- 可以存储任意类型,任意大小的数据
-
session与Cookie的区别
- session存储数据在服务器端,cookie在客户端
- session没有数据大小限制,cookie有
- session数据安全,Cookie相对不安全