2015-10-29 72 views
1

在我的servlet(登录后)我设置会话超时时间间隔为30秒,还要注意的SessionID作为说XJ2ee的会话跟踪

session.setMaxInactiveInterval(30); 

然后servlet转发到JSP页面(intermediate1),其中有到第二个中间页面(中间2)的链接。我在页面上做了大约30秒(超时间隔),然后转发到第二个jsp页面(中间2)。这里我打印sessionID,它不是X.它是另一个值。这怎么发生的?如果没有会话存在,容器是否自动将会话对象分配给JSP页面?请帮助。

+0

总是有一个会话对象。如果它没有过期,它可以与先前的请求相同,或者如果第一个请求或以前的会话对象过期,则为新的请求。这是它的工作方式。 –

回答

3

JSP规范(对JSP 2.1/JEE6它在第一章中找到“JSP.1.10.1 Page指令”)描述了session隐含对象是默认,使得对JSP每次调用将参加在现有的会话/创建一个新的会话,如果需要的话。它可以关闭为:

<%@ page session="false" %> 
+0

非常感谢您的支持。 – Cafe

1

由于jsp implicit-object,然后看到其中之一是'会议'。

所以,jsp的牵连对象总是在那里。

在你的情况下,当前会话对象已关闭,但jsp api使它新近可用。

+0

这很有帮助。非常感谢。 – Cafe