session的钝化机制以及Tomcat中两种Session钝化管理器

本文深入探讨了Web应用中Session管理的重要概念,包括Session的绑定、解除绑定、钝化与活化过程,重点介绍了Session的钝化机制及其在服务器内存管理上的作用。文中还详细阐述了Tomcat中两种主要的Session钝化管理器——StandardManager和PersistentManager的工作原理及应用场景。通过实例展示了如何在Servlet规范下触发Session钝化事件,以及如何在实际开发中灵活运用这些概念来优化Web应用性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,绑定到Session中的 对象有多种状态,分别是   绑定   解除绑定     钝化    活化。

绑定 是保存,通过session.setattribute把对象保存到session的对象当中,解除绑定,remove。钝化就是将session持久化存储设备上。活化就是将session对象从一个存储设备上进行恢复。

2,session的钝化机制:

session正常是放到服务器内存当中的,当在线用户很多时,session内存的开销是巨大的,会直接影响web服务器的性能,session的钝化机制就会解决这个问题

session钝化的本质就是把服务器不经常使用的session对象暂时序列化到系统文件,整个的过程是由服务器自动完成的

3,Tomcat中两种Session钝化管理器

   首先session钝化机制是由sessionManager管理

1)第1种管理器是StandarManager

        org.apache.catalina.session.StandarManager

         当Tomcat服务器关闭或者重启时tomcat服务器会将当前内存中的session对象钝化到服务器文件系统中;

          另一种情况是web应用程序被重新加载时,内存中的session对象也会被钝化到服务器的文件系统中

2)Persistentmanager

   org.apache.catalina.session.Persistentmanager

      首先在钝化的基础上进行扩张,第一种情况如上面1,第2种如2,第3种情况,可以配置主流内存的session对象数目,将不长使用的session对象保存到系统文件或数据库,当用时再重新加载

      默认情况下,Tomcat提供2个钝化驱动类

4,servlet规范:

2中接口:HttpServletBindingListener

                  HttpSessionActionListener


5,实例部分:

当对象实现Persistentmanager的接口之后,这个对象被session绑定了,这时会触发事件,执行方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值