有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是否有一种解决方案,可以在重定向响应时在浏览器上保留cookie?

我正在为一个web应用程序构建一个用户跟踪系统。人们可能来自许多网址。我想知道URL是从哪来的。 我设计的url是这样的:http://www.example.com/ref/XXXXXXX

我创建了一个过滤器来处理传入的请求:

String cookieKey = "examplesite.cookie";
String cookieValue = referralIdentifier;
Cookie cookie = new Cookie(cookieKey, cookieValue);
cookie.setMaxAge(60*60*24*365);
((HttpServletResponse) response).addCookie(cookie);

HttpServletResponse resp = (HttpServletResponse)response;
resp.addCookie(cookie);
resp.sendRedirect("/");

执行此代码时,我看不到浏览器中设置的cookie

如果我将重定向更改为“前进”,我可以看到cookie。 我看到这篇博文how to track people with cookie and redirect,博主建议使用代码重定向

所以我改变了我的代码,用

 resp.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
                        resp.setHeader("Location", "http://www.example.com/");

在这里,我可以在Firefox中看到cookie,但在Chrome中看不到

有没有解决方案可以在重定向后跟踪用户


共 (0) 个答案