【问题标题】:JSP Session unsual behaviorJSP 会话异常行为
【发布时间】:2013-04-03 16:01:14
【问题描述】:

以前,我通常在会话中设置和获取属性。但最近,我的一个会话属性开始表现得好像它是空的。我的团队通常可以使用我的 PC 作为 Web 应用程序的主机来获取特定的会话属性,而我自己却无法获取。作为对我的问题的简短描述,我们有相同的代码,我的团队可以在通过 scriptlet 运行的会话中获取值,而我不能。我们使用tomcat作为服务器,eclipse juno,chrome作为浏览器,我的电脑是唯一遇到这个bug的。我的机器、浏览器或其他地方有问题吗?

代码:

<% List<Place> places = (List<Place>) session.getAttribute("places");
for (Place p : places ) { %>
    <option value="<%=p.getID()%>"><%=p.getPlaceName()%></option>
<%} %>

for 循环确实会执行,因为正如我所说,因为它没有在会话中获得值。我已经清理了我的缓存并尝试了其他浏览器,但它在我的机器上的行为仍然如此......

【问题讨论】:

  • 你能粘贴一些代码吗?
  • 代码没有问题,我认为是在浏览器或其他一些设置...
  • 做url重写并找到会话值。

标签: java jsp session


【解决方案1】:

检查 cookie 在您的服务器中未启用。如果 cookie 被禁用,则启用它

【讨论】:

  • 在tomcat服务器的context.xml中检查
  • 允许,我说过了,我的团队正常能拿到值,我不能
  • 没有。但我可以在 chrome 的 cookie 列表中看到它。
【解决方案2】:

如果您在一个地方获取会话属性,那么您也应该能够在其他地方获取。我不明白为什么它不应该。

request.getSession(false);

可能存在同步问题。始终在同步块中进行会话工作。

HttpSessionAttributeListener 可以配置为查看何时将属性添加到您的会话中。

【讨论】:

  • 是的,这就是我不解的地方。所有其他会话都正常运行,这就是问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-07
  • 2013-04-09
  • 1970-01-01
  • 2013-12-24
  • 2020-09-27
  • 2013-03-06
  • 2022-07-23
相关资源
最近更新 更多