【发布时间】:2010-10-12 16:55:46
【问题描述】:
如何检查会话是否无效? API中没有方法。
和isNew()一样吗?如果不是,有什么区别?
【问题讨论】:
标签: java session httpsession
如何检查会话是否无效? API中没有方法。
和isNew()一样吗?如果不是,有什么区别?
【问题讨论】:
标签: java session httpsession
如果你想知道它是否基于请求有效:
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
}
【讨论】:
isNew() 仅当此会话尚未被客户端接受时才为真(即它刚刚创建,并且 JSESSIONID 尚未发送,或者如果已发送,客户端没有将其发送回,因此服务器不知道并创建了另一个会话)
【讨论】:
出于所有意图和目的,是的。但是,如果在同一请求-响应周期中无效的会话上调用,它将引发 IllegalStateException。
【讨论】: