java中session的生命周期_session的生命周期简述,你了解session吗?

了解java语言开发的小伙伴们势必也知道session,还记得session的生命周期吗?暂时想不起来也没关系,有兴趣了解的朋友们可以跟小编一起来了解一下。

想要了解session那么就一定要知道这样一个概念:session的销毁只有2种情况:

1、session调用了

session.invalidate()方法。

2、前后两次请求超出了session指定的生命周期时间。

在这当中,session的生命周期时间能够在web.xml配置的。

那么,默认30分钟在web.xml可以做下面的配置:

5

那么,怎样来证明关闭浏览器的时候session没有被销毁呢?

我们可以来创建一个SessionListener此监听器专门用来监听Session的生命周期的。

对了,不要忘记在web.xml当中配置监听器,在配置完成了以后,还可以做一个测试。

当浏览器关闭以后,这个监听器的sessionDestroyed方法并没有执行,而是在5分钟左右才会触发sessionDestroyed的

,当然了再打开浏览器的时候sessionCreated是会自动调用关闭5分钟后sessionDestroyed 又会自动调用的,

通过getID方法大家可以判断是否为同一个session。 如果没有任何配置的情况下。关闭浏览器30分钟后session才会消失的哦。

那么我们可以利用这个概念做什么呢? 最容易想到的就是利用 SessionListener

的sessionDestroyed方法来记录用户非正常退出的时间了。用户在访问某个网站的时候显示了用户的最后登录时间。

在这里可能要分两种情况:

一是,假如用户按"退出" 按钮那就好说了. 跳转到action中.记录下用户退出的时间. 存储到持久层中

二是,假如用户非正常退出,

那么在没有配置session的情况下默认会在30分钟后调用sessionDestroyed的那么我们同样可以在此获取用户退出的时间,在sessionDestroyed

调用业务逻辑完成我们想要实现的功能了。

那么以上就是本篇文章的所有内容了,还想了解更多java常见问答知识记得来关注本站消息哦。

推荐阅读:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值