如何在java中检查会话是否已过期?
除此之外,还有其他方法检查会话到期吗 session.isNew()是:如何在java中检查会话是否已过期?,java,session,servlets,Java,Session,Servlets,除此之外,还有其他方法检查会话到期吗 session.isNew()是: 您可以调用HttpServletRequest.getSession(false),如果没有一个会话处于活动状态,您将得到一个null,而不是一个会话 您可以在web.xml中定义生命周期侦听器(使用HttpSessionListener)。这样,您可以在会话失败时得到通知 使用会话。isNew您无法区分过期会话和全新会话。 您可以通过以下方式检查会话是否已过期和/或超时: if (request.getRequeste
- 您可以调用
,如果没有一个会话处于活动状态,您将得到一个HttpServletRequest.getSession(false)
,而不是一个会话null
- 您可以在
中定义生命周期侦听器(使用web.xml
)。这样,您可以在会话失败时得到通知HttpSessionListener
- 使用
会话。isNew
您无法区分过期会话和全新会话。
您可以通过以下方式检查会话是否已过期和/或超时:
if (request.getRequestedSessionId() != null
&& !request.isRequestedSessionIdValid()) {
// Session is expired
}
使用getRequestedSessionId
区分新会话和现有(有效/过期)会话,使用isRequestedSessionIdValid
区分有效会话和新会话/过期会话
对于第二个建议,您可以将此代码放在。+1中。顺便说一句,它的名字很好,所以HttpSessionListener就是其中之一。实现
HttpSessionListener
是一种方法。只需挂接sessionDestroyed()
。