session钝化活化条件
- 实现Serializable接口
- tomcat配置文件context.xml 进行如下配置:
<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="true">
<Store className="org.apache.catalina.session.FileStore" directory="E:\Develop\Tomcat\apache-tomcat-8.0.53\conf\Session"/>
</Manager>
写一个类测试session是否活化钝化,实现HttpSessionActivationListener
public class User implements Serializable, HttpSessionActivationListener {
@Override
public void sessionWillPassivate(HttpSessionEvent se) {
System.err.println("保存到硬盘上了");
}
@Override
public void sessionDidActivate(HttpSessionEvent se) {
System.err.println("从硬盘上读取");
}
private String name;
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
'}';
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
关闭tomcat,会 System.err.println(“保存到硬盘上了”);
重新开启tomcat,访问session的时候会 System.err.println(“从硬盘上读取”);
引用:https://blog.csdn.net/weixin_44142032/article/details/89004986
https://blog.csdn.net/Fan_JiGang/article/details/86757352