【问题标题】: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 响应可能是合适的。