题
如何检查会话是否无效? API 中没有方法
与isNew()
相同吗?如果不是,有什么区别?
解决方案
如果您想根据请求知道它是否有效:
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。
不隶属于 StackOverflow