Spring框架,如何在不同的项目中加载会话

时间:2011-10-30 08:20:29

标签: java spring session-variables

我有一个项目。在第一个项目中,我设置了会话

在我的第一个项目中,我把这里作为代码

req.getSession().setAttribute("x", name);
return "ses";

我放在第二个项目

model.addAttribute("ses", req.getSession().getAttribute("x"));
return "oses";

但是没有出现会话。

如何使用Spring框架使会话出现在不同的项目中?

2 个答案:

答案 0 :(得分:1)

你做不到。 (好吧,也许你可以设置某种会话复制,但你不应该这样做。See related question

您应该在应用程序之间使用其他形式的通信。流程将更加复杂,并将包括通过(简单)Web服务交换令牌,但它优于依赖于服务器容器,以及两个应用程序将在同一容器中运行的事实。

答案 1 :(得分:0)

描述你实际想要完成的事情是有帮助的;正如Bozho所说,你无法真正在应用程序之间共享会话对象。

但是,您可以使用JMS(或任何其他应用程序内部通信)将数据从一个应用程序发送到另一个应用程序。一旦你在接收应用程序中拥有该数据,你仍然需要能够决定的内容:如何将它与给定用户相关联,如何将其与该用户的会话相关联, 等等。

用户信息可以在消息中传递,但两个系统之间必须有一些共性,一些商定的密钥,可以用来确定信息属于谁。

一旦你拥有了,其余的就是机械师;有一些有趣的游戏可以玩,而且很容易弄乱它:)