如何检查会话是否无效

idd*_*ber 30 java session httpsession

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

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

Joh*_*ner 49

如果您想根据请求知道它是否有效:

request.isRequestedSessionIdValid()

  or

HttpSession sess = request.getSession(false);
if (sess != null) {
   // it's valid
}
Run Code Online (Sandbox Code Playgroud)

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

try {
  long sd = session.getCreationTime();
} catch (IllegalStateException ise) {
  // it's invalid
}
Run Code Online (Sandbox Code Playgroud)


Pet*_*aný 5

isNew() 只有当这个会话尚未被客户端接受时才会成立(即它刚刚创建,JSESSIONID尚未发送,或者如果它已被发送,客户端也没有发送回来,所以服务器不知道它并创建了另一个会话)