4

我有一个问题,我这几天一直在网上搜索。我找到了有类似问题的人,但他们的解决方案并没有提升我的状态。

最令人恼火的是,我以前一直在处理这个问题,没有任何问题或任何障碍。

问题是我在我的 java web 应用程序上的会话要么在请求之间被删除,要么一开始就没有正确创建。

一些简单的故障排除:

  • 我可以很好地创建和使用 cookie。
  • 每次我刷新或点击指向 servlet 或 jsp 的链接时,jsessionid 都会获得一个新的 id。
  • 在 chrome 上,我看不到会话 cookie(但我可以看到其他 cookie)
  • 在 Firefox 上,我可以看到会话 cookie(而且它的 id 在每次请求时都在变化)。

我以前也有过这样的工作,甚至连一个想法都没有考虑过。

我只是使用: 在 jsp 中我只是 session.get/setAttribute() 在 servlet 我只是 request.getSession()

我也研究了 getSession(boolean created),但就我而言 getSession() 应该为我做吗?

我的服务器正在运行 Tomcat 7 并具有 Servlet 3。我可以看到带有 servlet 3,我必须在 web.xml 文件中声明一些东西,我的会话配置如下: <session-config> <session-timeout>30</session-timeout> <tracking-mode>COOKIE</tracking-mode> </session-config>

你认为我在我的代码中做错了什么?它似乎很简单,并且以前使用过它。但这是我第一次承担设置服务器配置的任务。

这是我在stackoverflow上的第一篇文章,在此之前已经找到了很多答案,希望有人能告诉我我在哪里是个白痴。希望我已经给出了全面的细节。提前致谢。

4

1 回答 1

1

有时,当您不完全知道问题所在时,很难找到解决方案。

问题出在tomcat的apache代理设置上。

这是其他任何可能偶然发现我提出问题的方式的人的链接。

Apache 2.2 虚拟主机 + Tomcat 7 应用程序

将 ProxyPassReverseCookiePath /testapp / 添加到 httpd 配置。

于 2013-04-29T22:11:06.510 回答