我有一个应用程序URL,如果用户已在浏览器中登录,则会为我生成名为cookie的xyz。我想以编程方式(使用Java / JSP)查看用户是否已登录。
现在每当我从我的Java代码中点击url时,它都没有找到cookie(xyz),因为它会在每个请求上创建新会话。这可能是因为我从我的代码中搜索了url。现在我怎么能想出这种情况,以便我的应用程序将在浏览器中创建cookie,我的代码将查找该cookie。
答案 0 :(得分:2)
cookie由客户端的浏览器存储在客户端,因此如果您调用URL服务器端,它将不会将cookie与响应一起发回。
答案 1 :(得分:0)
您尝试了解该用户是否已登录的方式无法通过您的方法实现。
我们案例的可能解决方法是:
实现HttpSessionAttributeListener并覆盖它的方法attributeAdded和attributeRemoved方法。 当为登录用户创建会话时,您最有可能保存userName属性。一旦userName属性被保存,listner的attributeAdded方法就会被调用,你可以在那里看到用户的名字,一旦用户注销,attributeRemoved方法将被session invalidorate方法的触发器调用,你的监听器将获得通知。您可以看到已注销的用户的名称。
有关详细说明,请参阅下面的示例。 http://www.roseindia.net/servlets/SessionAttributeListenerExample.shtml