如何检查会话是不是无效

Posted

技术标签:

【中文标题】如何检查会话是不是无效【英文标题】:How to check if a session is invalid如何检查会话是否无效 【发布时间】:2010-10-12 16:55:46 【问题描述】:

如何检查会话是否无效? API中没有方法。

isNew()一样吗?如果不是,有什么区别?

【问题讨论】:

【参考方案1】:

如果你想知道它是否基于请求有效:

request.isRequestedSessionIdValid()

  or

HttpSession sess = request.getSession(false);
if (sess != null) 
   // it's valid

如果您存储了对会话的引用并需要验证我会

try 
  long sd = session.getCreationTime();
 catch (IllegalStateException ise) 
  // it's invalid

【讨论】:

【参考方案2】:

isNew() 仅当此会话尚未被客户端接受时才为真(即它刚刚创建,并且 JSESSIONID 尚未发送,或者如果已发送,客户端没有将其发送回,因此服务器不知道并创建了另一个会话)

【讨论】:

【参考方案3】:

出于所有意图和目的,是的。但是,如果在同一请求-响应周期中无效的会话上调用,它将引发 IllegalStateException。

【讨论】:

以上是关于如何检查会话是不是无效的主要内容,如果未能解决你的问题,请参考以下文章

如何检查会话是不是存在?

如何检查 Net::Telnet 会话是不是仍在 Perl 中?

当所有检索值在laravel中具有相同的会话键时,如何检查会话数组是不是具有唯一的ID

如何检查 PHP 会话是不是为空? [复制]

如何在 Quickblox iOS SDK 中检查会话是不是有效或过期?

如何检查 IDP 是不是仍然存在有效会话?