在我的servlet中(登录后)我将会话超时间隔设置为30秒,并将sessionID注释为X
session.setMaxInactiveInterval(30);
然后,servlet转发到JSP页面(intermediate1),该页面具有指向第二个中间页面(intermediate2)的链接。我在页面上没有做任何事情大约30秒(超时间隔)然后转发到第二个jsp页面(中间2)。在这里,我打印sessionID,它不是X.这是另一个值。这怎么发生的?如果没有会话,容器是否会自动将会话对象分配给JSP页面?请帮助。
答案 0 :(得分:3)
JSP规范(对于JSP 2.1 / JEE6,可在“JSP.1.10.1页面指令”一章中找到)描述session
隐式对象默认位于上,所以每次调用JSP都将参与现有会话/如果需要,创建一个新会话。它可以 关闭:
<%@ page session="false" %>
答案 1 :(得分:1)
由于jsp implicit-object
,请看其中一个是&#39; session&#39;。
所以,jsp的主要对象总是存在。
在你的情况下,当前的会话对象已经关闭,但是jsp api使它成为新的可用。
答案 2 :(得分:0)
这是我在网上找到的一个有趣的链接,可以回答我自己的问题。 FYI。
http://www.xyzws.com/jspfaq/can-i-prevent-the-creation-of-a-session-in-a-jsp-page/20