怎么判断session是否过期

 我来答
非陈勿扰house
2016-11-24 · 超过33用户采纳过TA的回答
知道答主
回答量:84
采纳率:0%
帮助的人:39.9万
展开全部
1、实现HttpSessionListener接口,然后在sessionDestroyed()方法中执行一些操作,表示session要过期了,因为这个方法是session.invalidate()之前监听器调用的方法。这个判断的方法显然不能让人满意。

2、request.getSeesion(boolean)方法。这个方法参数boolean,这个值如果是true,那么如果当前的request的session不可用,那么就创建新的会话,如果存在就返回当前的会话。如果参数是false,那么在request的当前会话不存在的时候就返回null。
这个所谓的request的当前会话是否存在和session过期的联系,可以“近似地”认为session不存在就是session过期了,那么我们就可以很容易地判断session是否过期了。方法如下:
if(request.getSession(false)==null)
System.out.println("Session has been invalidated!");
else
System.out.println("Session is active!");

不知是否有存在特别情况。
这个特殊情况就是第一次请求还没有创建会话的时候,那么用这个方法返回的仍然是null。

3、在session中保存特殊的字段来判断这个session是否过期
沫神钢虚1F
2017-01-24 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.6万
采纳率:59%
帮助的人:1126万
展开全部
1、Session是有生命周期的,生命周期结束,Session就会过期,Session里面的信息就会丢失。2、另外Session可能会因为其他原因导致session覆盖而过期;3、下面举个小例子的原因解释说明Session因为覆盖而丢失(过期)原因解释:客户端
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式