一尘不染

会话丢失,并在每个servlet请求中将其创建为新会话

tomcat

我有这个大问题。每当我对服务器发出新请求时,当前会话都消失了。

我已经检查了很多地方。我找不到问题所在。我还在tomcat和应用程序的web.xml中都包含了session-
config。我还启用了接受cookie到我的浏览器的功能。在每个浏览器中都经过测试。没用

我正在使用JSP / Servlet开发一个简单的Java ee应用程序。我仅在将Tomcat部署到服务器计算机后才面临该问题。


阅读 284

收藏
2020-06-16

共1个答案

一尘不染

多年后,我再也没有在这里发布答案。那时我很忙,忘记了这个问题。但是,今天我像往常一样在Stackoverflow中寻找解决方案,并看到此通知提到我正在从该问题中获取要点。好像其他开发人员都面临着同样的问题。因此,我试图回忆起我是如何解决该问题的。是的,我通过手动放回会话ID来跟踪/维护会话ID来解决。

请参阅我在servlet中手动放回jsessionid的代码。

HttpSession session = request.getSession();
if (request.getParameter("JSESSIONID") != null) {
    Cookie userCookie = new Cookie("JSESSIONID", request.getParameter("JSESSIONID"));
    response.addCookie(userCookie);
} else {
    String sessionId = session.getId();
    Cookie userCookie = new Cookie("JSESSIONID", sessionId);
    response.addCookie(userCookie);
}
2020-06-16