# 1 楼答案 使用session.isNew无法区分过期会话和全新会话。 您可以通过以下方式检查会话是否已过期和/或超时: if (request.getRequestedSessionId() != null && !request.isRequestedSessionIdValid()) { // Session is expired } 使用getRequestedSessionId区分新会话和现有(有效/过期)会话,使用isRequestedSessionIdValid区分有效会话和新/过期会话 你可以把这段代码放在Filter中
# 2 楼答案 是的: 你可以调用HttpServletRequest.getSession(false),如果没有一个会话处于活动状态,你将得到一个null而不是一个会话 您可以在web.xml中定义生命周期侦听器(使用HttpSessionListener)。这样一来,你就可以在会议结束时得到通知
# 1 楼答案
使用
session.isNew
无法区分过期会话和全新会话。 您可以通过以下方式检查会话是否已过期和/或超时:使用
getRequestedSessionId
区分新会话和现有(有效/过期)会话,使用isRequestedSessionIdValid
区分有效会话和新/过期会话你可以把这段代码放在Filter中
# 2 楼答案
是的:
你可以调用
HttpServletRequest.getSession(false)
,如果没有一个会话处于活动状态,你将得到一个null
而不是一个会话您可以在
web.xml
中定义生命周期侦听器(使用HttpSessionListener
)。这样一来,你就可以在会议结束时得到通知