Is there any other way to check expiry of session other than this
session.isNew()
Is there any other way to check expiry of session other than this
session.isNew()
Yes:
you can call HttpServletRequest.getSession(false)
and you'll get a null
instead of a session if there isn't one active already.
you can define a lifecycle listener (using HttpSessionListener
) in your web.xml
. That way you can get notified the moment a session bites the dust.
With session.isNew
you can not distinguish expired sessions from entirely new sessions.
You can check if the session has expired and/or timed out with:
if (request.getRequestedSessionId() != null
&& !request.isRequestedSessionIdValid()) {
// Session is expired
}
Use getRequestedSessionId
to distinguish between new and existing (valid/expired) sessions, and use isRequestedSessionIdValid
to distinguish betwheen valid and new/expired sessions.
You can put this code in a Filter.