hap*_*ppy 5 java cookies session session-cookies wildfly
我有两个网络应用程序1. test.war 2. birt.war
我在birt url的http响应头中设置了cookie
Cookie cookie = new Cookie(GlobalConstants.JSESSIONID, request.getSession(false).getId());
cookie.setPath("/birt");
response.addCookie(cookie);
Run Code Online (Sandbox Code Playgroud)
然后我在javascript中用适当的url参数打开birt url
window.open(url);
Run Code Online (Sandbox Code Playgroud)
但是来自birt的下一个请求我得到了新的JSESSIONID.这适用于JBoss6 AS.
我能够在开发者控制台中看到cookie
**Request 1**
http://192.168.10.7:8080/test
Cookies are
Response Cookie :
JSESSIONID :
value = 9G6bzvsF-ijbynGTmbWp7Ml4E5KFVHiEPlSflh16
Path = /birt
**Request 2**
http://192.168.10.7:8080/birt
Cookies are
Response Cookie :
JSESSIONID :
value = **xrLqLb5-8Vvqlkk2GKyapqwJZm5dJnyvFQOia9IM.node1** // new cookie
Path = /birt
Request Cookie :
JSESSIONID :
value = 9G6bzvsF-ijbynGTmbWp7Ml4E5KFVHiEPlSflh16
Path = /birt
Run Code Online (Sandbox Code Playgroud)
我也尝试在jboss-all.xml中添加两个战争,但即使这样也行不通.
<shared-session-config xmlns="urn:jboss:shared-session-config:1.0">
<session-config>
<cookie-config>
<path>/</path>
</cookie-config>
</session-config>
</shared-session-config>
Run Code Online (Sandbox Code Playgroud)
小智 4
我相信您的部署模型与 Undertow 支持的部署模型不同:
Undertow 允许您在耳朵中的 wars之间共享会话(如果明确配置为这样做)。请注意,如果您使用此功能,您的应用程序可能无法移植,因为这不是标准的 servlet 功能。
为了启用此功能,您必须在ear的META-INF目录中的jboss-all.xml文件中包含shared-session-config元素
请参考https://docs.jboss.org/author/display/WFLY10/Web+(Undertow)+Reference+Guide
| 归档时间: |
|
| 查看次数: |
1966 次 |
| 最近记录: |