我有一个网站,其中一个 JAVA servlet 连接到 auth-user 系统,iframe 中的第二个 JSP 页面连接到其他服务器 (Apache Tomcat)。这两个在连接到服务器时正在创建 session 。但是当我开始连接 iframe 时,我的 JSESSIONID 保存在与第一个 servlet 创建的相同的 cookie 文件中。所以现在我无法连接到 auth-user 服务器,因为首先创建的 cookie 被 iframe 更改了,现在我在一个 cookie 文件中拥有来自两个服务器的所有信息。我该如何解决这个问题?我无法将 URL 重写为基本 sessionID,因为我不知道它在那些应用程序中的位置。也许我能以某种方式让 Tomcat 将 session 信息保存在不同的 cookie 中,一个 servlet 将从一个 cookie 文件中获取信息,另一个从第二个 cookie 文件中获取信息?但是我该怎么做呢?
最佳答案
您似乎有多个具有相同域名的 Tomcat 实例,并且存在 session cookie 冲突。要解决它,您可以在 Tomcat 中更改 Cookie 路径 configuration
<Context ... sessionCookiePath="/some_path_1" > for Tomcat 1
<Context ... sessionCookiePath="/some_path_2" > for Tomcat 2
关于jsp - 增加 servlet session cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9499191/