我有兴趣问...是否有可能在一个网络服务器上保持两场战争之间的会话。 例如,有
B)战争文件B
战争文件A
...
String aText="Hello World";
session.setAttribute("anAttribute",aText);
...
所以我的问题是......我可以像
一样调用代码String fromAWarFile=session.getAttribute("anAttribute");
...从war文件B中获取war文件A的“Hello World”值?
赞赏任何有用的评论
答案 0 :(得分:0)
不,servlet规范禁止这样做。所有WAR必须是自包含的。也许门户软件可能会帮助你。您可能需要创建共享存储或使用可能支持该容器的容器功能。
答案 1 :(得分:0)
嗯,不建议在两个WAR之间使用共享会话,仍然可以通过维护公共缓存来实现。您需要创建一个HttpSession的包装类,它将包含一个API以从缓存中获取更新的信息。您可以根据自己想要更新会话的频率或基础来决定。
答案 2 :(得分:0)
我认为您正在寻找的是会话群集http://www.ibm.com/developerworks/java/library/j-jtp07294/index.html,我认为所有主要的servlet容器都支持此功能。
以下是tomcat http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html
的文档