java获取session失效时间_JavaWeb设置Session失效时间

JavaWeb设置session失效时间的三种方式以及注意事项

环境:JDK 1.8

主要方式有三种(针对传统web项目):

1. 通过web容器配置

2. 通过web.xml文件配置

3. 通过Java代码配置

当用户登陆系统后,服务器会设置一个当前session失效的时间,以确保在用户长时间不与服务器交互,自动销毁session,退出登录,释放资源。

1. 通过web容器配置

在web容器中,以Tomcat9 为例 在conf\web.xml文件中 有个session-config元素

ca37c1c3e352b44e1ddd7ec90a310d19.png

下图是默认配置(时间单位/分钟)

cc7abb88c6638e37d117704ee7e3f6b6.png

tomcat默认session超时时间为30分钟,可以根据需要修改,负数或0为永不失效。

由于在服务器中设置,则session设置的时间是根据服务器来计算的,而不是客户端。所以如果是在调试程序,应该是修改服务器端时间来测试,而不是客户端。

2. 通过web.xml文件配置

通过在web.xml文件中配置节点,达到目的

cd373d4ec03b4179f0dee19f732d54c5.png

55f1e4fb70cb00337c2c41852a5392ca.png

同样,时间单位为分钟,这里表示session在创建后20分钟后失效

3. 通过Java代码配置

session.setMaxInactiveInterval(10) ; //设置非活跃间隔时间

setMaxInactiveInterval(int second)不同于以上两种方法,并且有几个注意点:

(1)时间单位为秒

(2)此方法表示当前session在指定时间内若没有与服务器发生任何交互后失效

(3)期间用户的任何活动都将刷新session的失效时间,例如在10秒内用户刷新页面将重新计算失效时间

优先级

如果上述方式都有设置 或者有其中两种设置 那么他们的优先级从高到低排序则是: 代码设置 > 项目web.xml设置 > 容器web.xml设置(3>2>1)

感觉不错的赞一个吧~

希望我的文章可以帮助到你早点下班(#^.^#)!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值