有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 1 楼答案

    使用session.isNew无法区分过期会话和全新会话。 您可以通过以下方式检查会话是否已过期和/或超时:

    if (request.getRequestedSessionId() != null
            && !request.isRequestedSessionIdValid()) {
        // Session is expired
    }
    

    使用getRequestedSessionId区分新会话和现有(有效/过期)会话,使用isRequestedSessionIdValid区分有效会话和新/过期会话

    你可以把这段代码放在Filter

  2. # 2 楼答案

    是的:

    • 你可以调用HttpServletRequest.getSession(false),如果没有一个会话处于活动状态,你将得到一个null而不是一个会话

    • 您可以在web.xml中定义生命周期侦听器(使用HttpSessionListener)。这样一来,你就可以在会议结束时得到通知