转自:
下文笔者将讲述session生命周期的相关简介说明,如下所示:
Session存储在服务器端,
当客户端关闭浏览器,并不意味着Session对象的销毁,
如果不是显式调用invalidate()去销毁session
则它的生命周期由web.xml中session超时设置
web服务器(tomcat等)控制session的失效
Session生命周期的简介说明
- 当客户端第一次访问某个jsp或servlet时候
服务器会为当前会话创建一个SessionId,每次客户端向服务器发送请求时
都会将此SessionId携带过去,服务端会对此SessionId进行校验。 - 某次会话当中通过超链接打开的新页面属于同一次会话
只要当前会话页面没有全部关闭,重新打开的浏览器窗口访问同一个项目资源时属于同一次会话
除非本次会话的所有页面都关闭后在重新访问某个JSP或者servlet将会创建新的会话 - 服务器会把长时间没有活动的Session从服务器内存中清除
此时Session便失效
Tomcat中Session的默认失效时间为30分钟
jsp中失效session的方法
-
- 调用session.invalidate()方法来使整个session无效
- 调用setMaxInactiveInterval(int interval)方法来设置session超时
- 配置web.xml文件<session-config> <session-timeout>15</session-timeout> </session-config>,Tomcat根据配置的时间自动失效
- 服务器重新启动