今天发现tomcat对session的存储,在重新启动tomcat之后不会丢失,也就是说,是存放到磁盘的(也许是一些tmp文件)。那tomcat存放session的地方,是不是存放在应用的目录(war肯定是不行的)下面呢?比如是不是存放在A.war解压后的A文件夹里,答案也是似乎也是否定的,因为我更新了删除了A文件夹更新了war,在程序中以下代码还是能够获取到对象。
那结论就是:tomcat存放session数据在磁盘中,且不在XX应用的XX.war和XX文件夹里,不过,相信存放session的数据一定和XX.war这个名称有绑定关系。
//重新部署war,重启tomcat,依然获取到不久前的上次存放的对象。
Application curApp = (Application) session.getAttribute("curApp");
2012-3-15大牛“梅西”补充:
StandardManager
书上说关闭tomcat,tomcat会自动将session序列化到SESSIONS.ser中
打开tomcat再反序列化回来
孙鑫的《Servlet/jSP深入详解》
书上说关闭tomcat,tomcat会自动将session序列化到SESSIONS.ser中
打开tomcat再反序列化回来
孙鑫的《Servlet/jSP深入详解》
-EOF-