我有一个项目。在第一个项目中,我设置了会话
在我的第一个项目中,我把这里作为代码
req.getSession().setAttribute("x", name);
return "ses";
我放在第二个项目
model.addAttribute("ses", req.getSession().getAttribute("x"));
return "oses";
但是没有出现会话。
如何使用Spring框架使会话出现在不同的项目中?
答案 0 :(得分:1)
你做不到。 (好吧,也许你可以设置某种会话复制,但你不应该这样做。See related question)
您应该在应用程序之间使用其他形式的通信。流程将更加复杂,并将包括通过(简单)Web服务交换令牌,但它优于依赖于服务器容器,以及两个应用程序将在同一容器中运行的事实。
答案 1 :(得分:0)
描述你实际想要完成的事情是有帮助的;正如Bozho所说,你无法真正在应用程序之间共享会话对象。
但是,您可以使用JMS(或任何其他应用程序内部通信)将数据从一个应用程序发送到另一个应用程序。一旦你在接收应用程序中拥有该数据,你仍然需要能够决定做的内容:如何将它与给定用户相关联,如何将其与该用户的会话相关联, 等等。
用户信息可以在消息中传递,但两个系统之间必须有一些共性,一些商定的密钥,可以用来确定信息属于谁。
一旦你拥有了,其余的就是机械师;有一些有趣的游戏可以玩,而且很容易弄乱它:)