如何检查会话是否无效

2022-09-01 10:33:04

如何检查会话是否无效?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()仅当客户端尚未接受此会话时才为 true(即,它刚刚创建,并且尚未发送 JSESSIONID,或者如果它已发送,则客户端未将其发送回去,因此服务器不知道它并创建了另一个会话)


推荐