监听HttpSession中Java类状态改变的监听器
第三类监听器概述
保存在Session域中的Java类可以有多种状态:绑定到session中;从session中解除绑定;随session对象持久化到一个存储设备中(钝化);随session对象从一个存储设备中恢复(活化)。
Servlet对方中定义了两个特殊的监听的接口来帮助Java类了解自己在Session域中的状态:
HttpSessionBindingListener接口
HttpSessionActivationListener接口,
实现这两个接口的类不需要在web.xml中进行配置。
HttpSessionBindingListener监听器:
监听Java类在HttpSession中的绑定和解除绑定的状态的监听器:
l 测试代码:
HttpSessionActivationListener监听器
监听HttpSession中Java类的钝化和活化监听器。
l 测试代码
配置完成session的序列化和反序列化
Context标签可以配置在:
tomcat/conf/context.xml:所有tomcat下虚拟主机和虚拟目录下的工程都会序列化session
tomcat/conf/Catalina/localhost/context.xml:localhost虚拟主机下的所有项目会序列化session
工程/META-INF/context.xml:当前工程才会序列化session。
<Context>
<Manager className="org.apache.catalina.session.PersistentManager" maxIdleSwap="1">
<Store className="org.apache.catalina.session.FileStore" directory="itheima"/>
</Manager>
</Context>