Session钝化机制
将服务器中不经常使用的Session对象暂时序列化到系统文件或是数据库系统中,当被使用时反序列化到内存中,整个过程由服务器自动完成
Session默认管理器
默认由org.apache.catalina.session.StandardManger管理
1.当Tomcat服务器被关闭或重启时,tomcat服务器会将当前内存中的Session对象钝化
2.Web应用程序被重新加载时,内存中的Session对象也会被钝化
3.钝化后端文件被保存在:Tomcat安装路径/work/Catalina/hostname/applicationname/SESSION.ser中(活化后文件消失)
由org.apache.catalina.session.Persistentmanager管理
1.在钝化的基础上进行了扩张。可以配置主流内存的Session对象数目,将不常使用的Session对象保存到文件系统或数据库,当用时再重新加载
2.默认情况下,Tomcat提供两个钝化驱动类,org.apache.Catalina.FileStore和org.apache.Cataline.JDBCStore
Servlet规范
HttpSessionBindingListener
.绑定:valueBound方法
.解除绑定:valueUnbound方法
HttpSessionActivationListener
.钝化:sessionWillPassivate方法
.活化:sessionDidActivate方法
注:不需要在web.xml中注册,如果要钝化和活化,需要实现Serializable(序列化接口)