0

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

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

4

2 回答 2

2

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

于 2012-08-31T08:55:33.187 回答
0

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

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

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

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

于 2012-08-31T09:12:57.103 回答