《Oracle Java EE编程指南》09-04:会话失效

会话为什么要失效

会话对象是容器创建的,并保存在容器中

如果客户端连接到服务器后,却置之不理,不做任何操作,那么容器维护这些会话对象将占用很多资源。因此,容器都会在默认时间内销毁会话对象,多数容器默认30分钟销毁会话对象。

容器自动销毁会话对象

多数容器会在会话对象闲置30分钟后自动销毁。所谓闲置,就是没有使用Session对象。Tomcat默认30分钟后销毁。
测试:
1、登录后,访问admin.jsp页面,成功访问
2、修改系统时间,为当前时间的30分钟后
3、再次直接访问admin.jsp,跳转到登录页面,说明会话对象已经被销毁,所以admin.jsp中的会话是新的会话对象,取不到username,因此访问失败

在web.xml中配置会话失效时间

多数容器会在会话对象闲置30分钟后自动销毁。可以在web.xml中进行配置,修改默认时间。例如,修改为50分钟销毁。


<session-config>
  <session-timeout>50</session-timeout

猜你喜欢

转载自blog.csdn.net/goldentec/article/details/105336785