Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在response.sendRedirect()之后发送cookie?_Java_Servlets_Redirect_Cookies - Fatal编程技术网

Java 如何在response.sendRedirect()之后发送cookie?

Java 如何在response.sendRedirect()之后发送cookie?,java,servlets,redirect,cookies,Java,Servlets,Redirect,Cookies,我正在将用户重定向到某个URL,并希望发送一个cookie: Cookie cookie = new Cookie("CADASTROADM", "someValue"); cookie.setPath("/"); cookie.setMaxAge(129600); //With it or without, makes no difference. URL urlToRedirect = new URL(pageToRedirec

我正在将用户重定向到某个URL,并希望发送一个cookie:

        Cookie cookie = new Cookie("CADASTROADM", "someValue");
        cookie.setPath("/");
        cookie.setMaxAge(129600); //With it or without, makes no difference.
        URL urlToRedirect = new URL(pageToRedirect);
        cookie.setDomain(urlToRedirect.getHost());//With it or without, makes no difference.
        response.addCookie(cookie);
        response.sendRedirect(pageToRedirect);
但是,当他重定向到页面时,cookie不在那里。我无法使用requestDispatcher.forward(),因为我正在将用户重定向到绝对页面


可能吗?我做错了什么

只能为发送请求的相同域或子域设置/检索Cookie。否则就是一个巨大的安全漏洞

因此,如果您正在重定向到另一个域,那么cookie在那里将不可用。如果您显式地将cookie域设置为不同的域,那么它将被完全忽略。如果没有显式设置cookie域(因此它默认为与发送请求的域相同的域),那么它将仅适用于当前域,而不适用于重定向的域


您需要根据具体的功能需求寻找替代方法。很难提出建议,因为您在问题中根本没有告诉任何关于具体功能需求的信息。也许您应该发送一些特定的请求参数?

非常感谢。这正是我面临的问题。为了修复它,我必须使用cookie.setDomain(“.commondomain.com”);(公共域是URL的一部分,该URL对于我的应用程序和我试图发送的应用程序都是相同的。@user1582142我也面临类似于ur的问题,但我的问题不大。我的客户端运行在8100中,服务器运行在8080中。服务器具有spring安全性,即
defaultSuccessUrl
重定向到其他 url在该url中没有
设置cookie
@BalusC@user1582142如何在java端做到这一点,因为重定向发生在java到java的过程中,我使用的是angularjs,它没有到达前端,当spring security重定向url时,是否可以
设置cookie
@BalusC@user1582142因此,在显式设置域之后,di在sendRedirect调用后,cookie是否继续?