我在 JSP session 中设置了一个属性:
session.setAttribute("test","123");
并且我每分钟打印 session ID 和 session 哈希码:
out.println("sessionID:"+session.getId()+" sessionHashCode:"+session.hashCode());
我得到以下结果:
time:00:05
sessionID:awZ5kgzGNZf4 sessionHashCode:4861179
time:00:06
sessionID:awZ5kgzGNZf4 sessionHashCode:4861179
..
time:03:41
sessionID:awZ5kgzGNZf4 sessionHashCode:708977
..
time:03:46
sessionID:awZ5kgzGNZf4 sessionHashCode:5376793
在03:41
和03:46
时间, session 对象发生了变化,
当我使用时:
session.getAttribute("test");
返回空
为什么会出现这个问题呢?如何适配?
感谢您的帮助:)
(我使用resin_2.1.4网络服务器)
感谢 Jigar Joshi - org.life.java 的帮助,
我尝试打印 session 属性:
time: 2011-03-11/04:21
sessionID:aJ5KCTx6gi-6 sessionHashCode:31002685
[session]creationTime:2011-03-11/03:32 lastAccessedTime:2011-03-11/04:21 maxInactiveInterval:1800
time: 2011-03-11/04:22
sessionID:aJ5KCTx6gi-6 sessionHashCode:5278202
[session]creationTime:2011-03-11/04:22 lastAccessedTime:2011-03-11/04:22 maxInactiveInterval:1800
我不认为是因为我的树脂 session conf。
最佳答案
似乎是 session 超时的情况。
检查您的web.xml
<session-config>
<session-timeout>30</session-timeout>
</session-config>
超时后,idel session 将被销毁。
关于java - 为什么 session 对象被改变(JSP,servlet)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5270116/