【Java.Web】Session —— Session的持久化(容器实现此功能)
来源:互联网 发布:北京java语言编程培训 编辑:程序博客网 时间:2024/04/30 16:29
http://blog.csdn.net/robinjwong/article/details/39847603
Session的持久化
当一个Session开始时,Servlet容器会为Session创建一个HttpSession对象。Servlet容器会在某些情况下,把这些HttpSession对象从内存中转移到永久性存储设备中(如文件系统 或 数据库)中,在需要访问HttpSession信息时在把它们加载到内存中。
把内存中的HttpSession对象保存到文件系统或者数据库中,这一过程成为会话的持久化(使用Java对象序列化/反序列化技术)。
在持久化Session时,Servlet容器不仅会持久化HttpSession对象,还会对它的所有可以序列化的属性进行持久化,从而确保存放在Session范围内的共享数据不会丢失。
持久化的优点:
- 节约内存空间;
- 确保在服务器重启或单个Web应用重启后,能回复重启前的会话;
状态的转化
Session在其生命周期中,可能会在运行时状态和持久化状态之间转换。
- 会话从运行时状态变为持久化状态的过程称为 —— 搁置;在以下情况下,Session会被搁置:
- 当服务器总之或单个Web应用终止时,Web应用中的Session会被搁置;
- 会话处于不活动状态的时间太长,达到了特定的限定值;
- Web应用中处于运行状态的会话数目太多,达到了特定的限制值,部分Session被搁置
- 会话从持久化状态变为运行时状态的过程称为 —— 激活;在以下情况下,Session会被激活:
- 当服务器重启或单个Web应用重启时,Web应用中的Session会被激活
- 处于Session中的客户端想Web应用发出HTTP请求,相应的Session会被激活
Session的搁置和激活对客户端来说是透明的。
Session持久化的实现(容器实现)
Java Servlet API并没有为Session的持久化提供标准的接口,Session的持久化完全依赖于Servlet容器的具体实现。
Tomcat Session持久化的管理
tomcat采用会话管理器来管理Session:
- org.apache.catalina.session.StandardManager类 —— 标准会话管理器
- org.apache.catalina.session.PersistentManager类 —— 提供更多的管理功能
标准Session管理器 StandardManger
持久化Session管理器PersistentManger
0 0
- 【Java.Web】Session —— Session的持久化(容器实现此功能)
- 【Java.Web】Session —— Session的持久化(容器实现此功能)
- 传智播客Java web学习,url重写实现Session跟踪以及Session的持久化
- java web 设置持久session
- session 的持久化
- Session的持久化
- 实现Session持久化的配置
- 【Java.Web】Session —— Java Web中的Session概述
- 【Java.Web】Session —— Java Web中的Session概述
- Java Web学习总结(20)——基于ZooKeeper的分布式session实现
- session的持久化原理
- session的持久化操作
- Tomcat实现Session ID的持久化保存实现
- Tomcat实现Session ID的持久化保存实现
- Web应用中Cookie和Session的原理以及Session持久化
- Tomcat5.5.12 实现Session持久化的配置
- Session数据的持久化读取实现原理
- 通过cookie 和session 持久化实现 session跨子域
- shell中的条件判断式
- migua-day04 FragmentStatePagerAdapter导致的异常
- 【Java.Web】Session —— HttpSession及相关
- 【JavaEE—Hibernate】Hibernate入门案例
- JPA学习笔记-JPA基础
- 【Java.Web】Session —— Session的持久化(容器实现此功能)
- android 获取当前运行进程的名称
- httpd.conf
- 类 -- 继承
- Tomcat 文件结构说明
- Linux 常用命令 pidof,top,vmstat,htop
- 深入理解Activity启动流程(三)–Activity启动的详细流程2
- openssl
- RecyclerView选择item滚动到顶部