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

时间:2011-04-11 07:29:21

标签: java web-applications jboss

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

2 个答案:

答案 0 :(得分:3)

看一下这篇文章,提出类似的问题。 Access session of another web application

这是说什么

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

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

答案 1 :(得分:0)

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

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

<session-config>
  <cookie-config>
    <path>/</path>
  </cookie-config>      
</session-config>

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