【问题标题】:Deleting a Cookie from Servlet从 Servlet 中删除 Cookie
【发布时间】:2015-10-26 22:48:42
【问题描述】:

我有一个具有登录过滤器的应用程序,我正在其中创建如下所示的 cookie。

Cookie ck = new Cookie("testCookie","Value");
ck.setPath("/");
response.addCookie(ck);

在注销按钮中,我正在删除如下所示的 cookie。

Cookie ck = new Cookie("testCookie",null);
ck.setPath("/");
ck.setMaxAge(0);
response.addCookie(ck);

但是当我再次尝试登录时,cookie 是存在的。我关注了link

请告诉我,当我从应用程序中注销时,如何完全删除 cookie。

【问题讨论】:

  • 在浏览器中按 F12 并检查网络选项卡。检查 HTTP Set-Cookie 响应标头和 Cookie 请求标头。验证那里是否一切正常。
  • 在网络选项卡中,我只看到对我的 url 的调用,然后是对服务器的调用。那里没有显示任何关于 cookie 的内容
  • 这条评论有点太含糊了。首先:你知道如何解释 HTTP 请求吗?如果你真的做不到,请说实话。
  • 我在开发者工具中添加了网络标签的截图
  • 因此你不能。屏幕截图不显示 HTTP 标头(因此不显示 cookie)。单击每个条目的名称并浏览 HTTP 标头。

标签: java servlets cookies


【解决方案1】:

http://tutorials.jenkov.com/java-servlets/cookies.html 希望能帮助到你。试试

Cookie ck = new Cookie("testCookie","");

而不是使用 null 作为值

【讨论】:

  • 与其根据在 Internet 上其他地方找到的晦涩的第三方资源进行盲目猜测,不如查阅供应商本身的官方文档。
【解决方案2】:

cookie 没有被删除,因为我在 response.addCookies 之前使用了 response.sendRedirect。

【讨论】:

    猜你喜欢
    • 2012-04-06
    • 2016-03-31
    • 1970-01-01
    • 2011-03-28
    • 2010-10-27
    • 2012-12-12
    • 2013-06-13
    • 1970-01-01
    • 2010-10-29
    相关资源
    最近更新 更多