是否有解决方案在重定向响应时在浏览器上保留cookie?

时间:2015-03-01 00:40:32

标签: java http redirect cookies referrer

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

我创建了一个Filter来处理传入的请求:

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.sendRedirect("/");
 resp.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
                        resp.setHeader("Location", "http://www.example.com/");

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

重定向后是否有跟踪用户的解决方案?

0 个答案:

没有答案