session的钝化和活化概念这里不再赘叙,主要记录一下自定义session钝化的简单实现
Session钝化方式1.自定义session钝化(eclipse和idea) 2.默认session钝化(eclipse和idea) 3.自定义类钝化条件 4.idea缓存文件保存路径修改一、自定义session钝化 1.eclipse+Tomcat自定义session钝化
-
使用环境:eclipse2016、Tomcat 9、Web项目
-
配置项目目录总的Servers下 TomcatXXX(eclipse添加Tomcat时你自己起的名字)目录中的context.xml,内容如下:
className不用改,maxIdleSwap表示1秒内没有使用session就会触发钝化,directory是文件存放目录,自定义。
-
正常关闭服务器后查看对应目录下是否有.session文件。
.session文件寻找:
1、在控制台日志信息中寻找CATALINA_base对应路径-- path1;2、在path1下打开 workCatalinalocalhost项目名YourSessionDir
3、该文件夹下就是.session文件,名字是 JSESSIONID
-
使用环境:IDEA2021、Tomcat 9、Web项目
-
与eclipse不同,idea需要修改原Tomcat安装目录下的conf/context.html。修改内容与上面一样。
eclipse不修改Tomcat源代码,idea修改。 -
自定义钝化文件寻找:
1、找创建项目时控制台的日志信息中的==Using CATALINA_base:==后面跟的路径,path1;
2、path1下的:workCatalinalocalhost项目名
3、里面是配置文件的directory属性配置的目录,和里面的.session钝化文件,也是以JSESSIONID命名。
-
默认session钝化文件存储路径:
1、eclipse和idea都是在自定义钝化设置的directory属性值代表的文件夹同一个目录下!
2、固定命名是:SESSION.ser
-
当自定义钝化后,默认钝化文件将不再生成。
-
需要实现HttpSessionActivationListener接口以及Serializable接口,因为钝化与活化底层涉及序列化和反序列化。
-
参考博客:session的钝化与活化 - 王衙内 - 博客园 (cnblogs.com)
-
在使用idea时会发现,尽管我们的idea安装不在C盘,并且项目也不在C盘,但项目运行时控制台打印的日志信息却多处出现C盘下的路径,当我们的项目逐渐增多,项目体积逐渐曾大时,势必会影响电脑运行速率。
-
解决:修改idea这些文件的存储位置
1、运行一次项目找到控制台信息中的==Using CATALINA_base:==后面跟的路径。文件打开该路径,并退至IntelliJIdea2021.1(idea不同版本名字不一样,但IntelliJIdea这部分是固定的),将整个这个文件夹复制到你想保存的位置(我是复制到了我的IDEA的安装目录的同级目录下了,方便以后查找,注意是复制,免得修改失败后无法复原)
2、打开idea安装目录中bin/idea.properties,修改两个路径:
3、保存修改后打开idea后可能会让你选择settings文件位置,如果修改为移动后的IntelliJIdea路径后提示不是设置文件,那就点击确定后关闭idea再打开,还是不行的话多关闭打开几次。
4、打开idea项目,运行测试,看控制台信息之前的C盘路径是否已经替换到移动后的路径下,如已经替换,修改成功!



