Java、Tomcat、Sessions-JSessionId消失

Java、Tomcat、Sessions-JSessionId消失,java,session,tomcat,Java,Session,Tomcat,我对java会话有问题 我正在开发一个简单的web应用程序,在这里我必须使用会话和会话属性。在我关闭浏览器之前,一切都很好。当我关闭浏览器时,JSessionId将消失。 这是我的密码: request.getSession().setMaxInactiveInterval(30*60); //it's 30 minutes request.getSession().setAttribute("someinteger", 10); 它工作得很好,但是当我关闭浏览器并重新打开它时,我找不到jse

我对java会话有问题

我正在开发一个简单的web应用程序,在这里我必须使用会话和会话属性。在我关闭浏览器之前,一切都很好。当我关闭浏览器时,JSessionId将消失。 这是我的密码:

request.getSession().setMaxInactiveInterval(30*60); //it's 30 minutes
request.getSession().setAttribute("someinteger", 10);
它工作得很好,但是当我关闭浏览器并重新打开它时,我找不到jsessionId(在关闭浏览器之前,我可以在“localhost”部分找到它)。奇怪的是我仍然可以找到“someinteger”饼干。有什么问题?我做错了什么

我也在使用这个:,它显示JSESSIONID cookie将在30分钟内过期:“SESSION”,而“someinteger”将在30分钟内过期


提前感谢。

会话cookie不会在浏览器重新启动时持久存在。因此,重新打开浏览器时,JSESSIONID cookie将不存在。

会话cookie不会在浏览器重新启动时持久存在。因此,当您重新打开浏览器时,JSESSIONID cookie将不存在。

实际上,原因是web.xml中定义的会话超时可能仍设置为默认值:

<session-config>
    <session-timeout>30</session-timeout>
</session-config>

30
如果浏览器已配置为(默认情况下全部执行),则会话cookie将在浏览器重新启动时持续存在。带有JSESSIONID的cookie对于浏览器来说不是特殊的cookie,它只是另一个cookie

如果您查看cookie,您可以看到它将在何时过期。Cookie过期和持久性与会话超时无关。除了cookie是连接浏览器和seision的东西


如果cookie或会话丢失,则会话实际上会丢失。

实际上,原因是web.xml中定义的会话超时可能仍设置为默认值:

<session-config>
    <session-timeout>30</session-timeout>
</session-config>

30
如果浏览器已配置为(默认情况下全部执行),则会话cookie将在浏览器重新启动时持续存在。带有JSESSIONID的cookie对于浏览器来说不是特殊的cookie,它只是另一个cookie

如果您查看cookie,您可以看到它将在何时过期。Cookie过期和持久性与会话超时无关。除了cookie是连接浏览器和seision的东西


如果cookie或会话丢失,则会话实际上会丢失。

澄清:request.getSession().setMaxInactiveInterval(30*60);设置服务器端超时,它不会影响JSSessionId的cookie超时以澄清:request.getSession().setMaxInactiveInterval(30*60);设置服务器端超时,它不会影响jsessionId的cookie超时