如何在Java中跨多个Web应用程序维护相同的会话ID

如何在Jboss服务器中为多个Web应用程序维护相同的会话ID?

对于类似的问题,请看一下这篇文章。 访问另一个Web应用程序的会话

这是说的

“不是直接的。大多数容器将每个WAR放在一个单独的类加载器中,EAR类加载器作为它们的父级。每个应用程序的会话都是独立的。你可以在每个会话中放置父EAR提供的东西。如果你需要它们分享一些东西,那就去做吧一个EARfunction。“

因此,由于每个会话都是私有的,因此一个Web应用程序无法看到另一个。 因此,您可以选择将两个Web应用程序捆绑在一个WAR文件中,以使它们能够共享会话数据。

我最近在寻找这个并找到了解决方案。

如果您只想共享ID,可以在web.xml中使用以下配置。 鉴于您使用servlet 3.0。

  /   

这将使用路径“/”保存jsessionid cookie,使其在所有webapps之间共享。 这就是JBoss 4用来做这件事的方法。