Session 原理以及生命周期

1:session 是通过浏览器的cookie来保存一个jessionid的信息 。这个jsessionid里面包含着你session 的id 。正是通过这个jessionid浏览器才能判断是不同用户的session ,用户每次进行session.getAttribute()或则 session.setAttribute时候。

都会取出jesseionid里面的信息和session id比较。来区分不通的session。

2.session 的生命周期是一次会话。就是从用户开始请求这个application开始到application结束。

你停止了服务当然这个应用也就结束。tomcate容器出清除session

一般情况下,session都是存储在内存里,当服务器进程被停止或者重启的时候,内存里的session也会被清空,如果设置了session的持久化特性,服务器就会把session保存 到硬盘上。

你可以设置session的持久化特性试试看,当服务器进程重新启动或这些信息将能够被再次使用。

tomcat 正常关闭或者 restart 的话 tomcat 会在 work 的这个工程目录下有个 session.ser 文件,会保存在那里,重启时会重新加载。

默认的Tomcat是支持Session持久化的。当然,取消注释也就取消了这个功能。

conf/context.xml:<Manager pathname="" />