Session:
概念:服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象中。HttpSession对象
使用步骤:
1、获取HttpSession对象,request.getSession()
2、使用HttpSession对象,getAttribute(String name)
setAttribute(String name,Object obj)
removeAttribute(String name)
原理:Session的实现是依赖于Cookie的
细节:1、当客户端关闭后,服务器端不关闭,两次获取的session默认情况下不是同一个
可以在客户端长时间存储Cookie(“JSESSIONID”,session.getId())
2、当客户端不关闭,服务器端关闭,两次获取的session不是同一个,但是数据不丢失,tomcat自动完成以下工作
session的钝化:在服务器正常关闭之前,将session对象序列号到硬盘上
session的活化:在服务器启动后,将session文件转化为内存中的session对象即可
session被销毁的时机:1、服务器关闭
2、session对象调用invalidate()
3、session默认失效时间,30分钟,可以选择web.xml文件配置
特点:1、session用于存储一次会话的多次请求的数据,存在服务器端
2、session可以存储任意类型,任意大小的数据
与cookie的区别:1、session存储数据在服务器端,cookie在客户端
2、session没有数据大小限制,cookie有
3、session数据安全,cookie相对不安全