小编典典

Struts2:会话问题(反向代理后)

java

我将会话参数存储在Struts2会话映射中,该会话映射是使用SessionAware接口在操作中获得的。我的应用程序位于/ MyApp路径中。

在具有反向代理重定向的Apache服务器上设置struts2应用程序之后,该重定向使URL
http://www.appdomain.com/ 指向本地 主机
上的本地tomcat :8080 / MyApp ,Struts2会话处理不再起作用。我希望会话cookie存储在http://
localhost:8080 /
MyApp
的Struts2上下文中,而不是http://www.appdomain.com/

Struts2配置中有解决方案吗?还是以编程方式以某种方式更改会话cookie?在互联网或官方文档中找不到有关此的任何信息。请帮忙,我已经在生产中,我的登录信息不起作用;-)


阅读 225

收藏
2020-11-26

共1个答案

小编典典

我只是用一个肮脏的技巧解决了这个问题:我将会话ID传递给JSP,并使用JavaScript设置了所需的JSESSIONID cookie客户端。

函数createCookie(name,value,days){if(days){var date = new Date();
date.setTime(date.getTime()+(days * 24 * 60 * 60 * 1000)); var expires =“;
expires =” + date.toGMTString(); } else var expires =“”; document.cookie =
name +“ =” + value + expires +“; path = /”; }

$(document).ready(function(){createCookie(“ JSESSIONID”,“”,3);});

从此页面获取了JS代码:http
:
//www.quirksmode.org/js/cookies.html

谢谢,问题解决了!

2020-11-26