【问题标题】:What would be the response code for session timeout in tomcat/other app servers?Tomcat/其他应用服务器中会话超时的响应代码是什么?
【发布时间】:2015-04-04 01:34:45
【问题描述】:

我在我的 tomcat 的 web.xml 中配置了以下标记。我等了超过 2 分钟,但我仍然可以访问会话。我知道tomcat会运行后台线程来验证过期的会话。 我等了超过 15 分钟,但似乎这个后台线程没有运行。

有人可以告诉我会话超时时我们得到的http响应代码是什么吗? 另外如何确保tomcat的后台线程运行频繁?

 <session-config>
        <session-timeout>2</session-timeout>
    </session-config>

【问题讨论】:

  • 您确定这不是创建的新会话吗?

标签: java session tomcat servlets session-timeout


【解决方案1】:

没有特定的 HTTP 响应代码。服务器将使用200 OK 或任何其他适当的代码进行响应。但是你的 session 将是空的。

【讨论】:

    【解决方案2】:

    Tomcat 开箱即用,您无权访问它。 您不会有特殊的 http 响应,Tomcat 会遍历超时已达到的会话对象并杀死所有对象。

    在下一个对服务器的请求中,您将发送 Jsession(这是服务器正在创建的 sessionId)。 jsessionId 找不到任何会话,您将在请求空会话中看到..

    request.getSession(false) == null,或request.getSession(true).isNew()

    这是一般解释 希望有帮助

    【讨论】:

      【解决方案3】:

      这完全取决于您使用 HttpSession 对象的目的。如果您使用它来保存一些表明用户已通过身份验证的数据,那么如果会话超时,则使用 401 Unauthorized 响应可能是合适的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-24
        • 1970-01-01
        • 1970-01-01
        • 2016-07-26
        • 2013-03-29
        • 1970-01-01
        • 2011-04-25
        • 2012-01-31
        相关资源
        最近更新 更多