我正在将Struts 1应用程序转换为Struts 2,并遇到了一个奇怪的Session问题。
我们使用Apache重写规则将/ page的URL更改为/ app / proj / page,这对两个应用程序都可以正常工作。但是,每次我们转到Struts 1应用程序中的/ page时,我们保持相同的会话(路径/使用相同的JSESSIONID),但在Struts 2应用程序中,我们每次都会得到一个新的Session(路径的不同JSESSIONID /应用程序每次都创建。
我已经在Struts 2文档中进行了一些搜索,在Google和此处进行了搜索,但是我找不到任何表明Struts 1和2处理会话的方式有什么不同所以我猜测它的配置或Java Action改变所需要的。
由于我是Struts 2的新手,我显然错过了一些内容,所以任何指针都会感激不尽。
谢谢,
ž
关注:我还没有发布自己的答案,但我们已经解决了,这就是我要发布的内容:
感谢大家的帮助。我们现在已经设法使用Apache中的ProxyPassReverseCookiePath设置来保留会话。这在StackOverflow上有详细说明:
如何正确设置反向代理后面的JSESSIONID cookie路径
我们通过推送实现:
ProxyPassReverseCookiePath / app2 /
在apache httpd-vhosts.conf中。
谢谢,
ž