Java 如何在response.sendRedirect()之后发送cookie?
我正在将用户重定向到某个URL,并希望发送一个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
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
重定向到其他设置cookie
@BalusC@user1582142如何在java端做到这一点,因为重定向发生在java到java的过程中,我使用的是angularjs,它没有到达前端,当spring security重定向url时,是否可以设置cookie
@BalusC@user1582142因此,在显式设置域之后,di在sendRedirect调用后,cookie是否继续?