【发布时间】:2015-04-14 17:11:38
【问题描述】:
我有一个使用 gwt.2.5.1、java 开发的 Web 应用程序。在我的应用程序中,我有一个链接“Volex 页面”,它将发送到另一台服务器(Volex)的请求。
假设如果我用“http://localhost:8085/myApp”打开我的应用程序并且可以看到“vloex 页面”,一旦用户点击 在“Volex 页面”上,它将被重定向到如下所示的“Volex 服务器”。
Window.Location("http://167.23.543.34:8087/VolexSer/volex")
上面的 url 访问需要一些信息(如会话 id)的 volex 服务器,为此我必须在 cookie 中设置会话 id,如下所示:
Date cookieDate = new Date();
cookieDate.setDate(cookieDate.getDate() + 1);
String baseUrl = "http://167.23.543.34:8087/VolexSer/volex";
Integer nDomainInitialPosition = baseUrl.indexOf("/");
Integer nDomainEndPosition = baseUrl.lastIndexOf(":");
String baseDomain = baseUrl;
if (nDomainInitialPosition == nDomainEndPosition) {
nDomainEndPosition = baseUrl.indexOf("/");
}
baseDomain = baseUrl.substring(nDomainInitialPosition + 2, nDomainEndPosition);
Window.alert("baseDomain: " + baseDomain);
String eWebPageUrl = com.google.gwt.user.client.Window.Location.getHref();
if (eWebPageUrl.contains("https://")) {
Cookies.setCookie("sessionId", LoginInfo.getSessionId(), cookieDate, baseDomain, "/", true);
} else {
Cookies.setCookie("sessionId", LoginInfo.getSessionId(), cookieDate, baseDomain, "/", false);
}
这里打开两个域一个是“localhost”另一个是“167.23.543.34”,如果我像上面那样设置cookie,它不会显示在请求标头中。任何人都可以告诉 mw 上面的代码有什么问题吗?
【问题讨论】: