如何检查会话是否无效
如何检查会话是否无效? API中没有方法。
它和isNew()
吗? 如果没有,有什么区别?
如果您想根据请求知道它是否有效:
request.isRequestedSessionIdValid() or HttpSession sess = request.getSession(false); if (sess != null) { // it's valid }
如果您已存储对会话的引用并需要validation我会
try { long sd = session.getCreationTime(); } catch (IllegalStateException ise) { // it's invalid }
isNew()
仅在客户端尚未接受此会话时才为真(即它刚刚创建,JSESSIONID尚未发送,或者如果已发送,则客户端未将其发回,因此服务器不会了解它并创建了另一个会话)
出于所有意图和目的,是的。 但是,如果在同一请求 – 响应周期中无效的会话上调用,它将抛出IllegalStateException。