【问题标题】:How to get cookie from browser, dropped from another application如何从浏览器获取cookie,从另一个应用程序删除
【发布时间】:2012-08-26 01:08:23
【问题描述】:

如果用户在浏览器中登录,我有一个应用程序 URL,它会为我生成名为 xyz 的 cookie。我想以编程方式(使用 Java/JSP)点击 URL 来查看用户是否登录。

现在,每次我从 Java 代码中点击 url 时,它都找不到那个 cookie (xyz),因为它会在每个请求上创建新会话。这可能是因为我从我的代码中点击了 url。现在我该如何想出这种情况,以便我的应用程序将在浏览器中创建 cookie,而我的代码将查找该 cookie。

【问题讨论】:

  • 如果读取和写入 cookie 发生在同一个域中,您应该能够在 Javascript 和服务器端语言中看到 cookie。

标签: javascript java ajax jsp cookies


【解决方案1】:

您试图知道用户是否登录的方式,无法通过您的方法实现。

我们的案例可能的解决方法是:

实现 HttpSessionAttributeListener 并覆盖它的方法 attributeAdded 和 attributeRemoved 方法。 当为登录用户创建会话时,您最有可能将 userName 属性保存为会话。一旦 userName 属性被保存,listner 的 attributeAdded 方法将被调用,您可以在那里看到用户的名称,一旦用户注销,attributeRemoved 方法将被 session invalidate 方法的触发器调用,您的侦听器将收到通知.可以看到退出的用户名。

详细说明请参见下面的示例。 http://www.roseindia.net/servlets/SessionAttributeListenerExample.shtml

【讨论】:

    【解决方案2】:

    cookie 由用户的浏览器存储在客户端,因此如果您在服务器端调用 URL,它不会将 cookie 与响应一起发回。

    【讨论】:

    • 谢谢!甚至我也这么认为,但不太确定。
    猜你喜欢
    • 1970-01-01
    • 2010-12-30
    • 2010-11-19
    • 2011-02-18
    • 1970-01-01
    • 2015-03-07
    • 2013-05-01
    • 2012-10-28
    • 2012-05-30
    相关资源
    最近更新 更多