-1

我正在使用 pdk jdeveloper portlet。

我已经在带有主机的tomcat服务器上部署了earwww.test1.com:8080/

现在我在具有相同主机但不同端口的 Oracle 服务器上使用它的提供程序www.test1.com:9090/

所以在这里我无法使用 cookie 或 session 的东西www.test1.com:9090/

我已经使用 javascript 设置了 cookie,如下所示:

function setCookie(c_name,value,exdays)
{
    var exdate=new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
    document.cookie=c_name + "=" + c_value;
}

setCookie("USER","test",365);

现在尝试在 portlet 页面上获取此 cookie,如下所示。

 PortletRenderRequest pReq = (PortletRenderRequest)
    request.getAttribute(HttpCommonConstants.PORTLET_RENDER_REQUEST);
    try 1: Cookie[] cookies =request.getCookies(); // get null
    try 2: Cookie[] cookies = (Cookie[])pReq.getCookies(); // get null

我怎样才能做到这一点?请帮忙。

4

1 回答 1

0

您必须在 cookie 上设置域。链接,这给了你一个好的开始。我读了这篇文章,发现跨子域共享 cookie 很容易,但跨域共享它很复杂。这也是有用的链接

于 2013-10-16T08:20:43.700 回答