3
我正在开发一个单页的Web应用程序。我已经包含一个java过滤器来拦截html页面请求。因此,在此过滤器中,我使用request.getSession()
创建了一个会话。 然后我明确设置JSESSIONID
cookie,因为我必须在响应标头Set-Cookie
中设置HttpOnly
标志,以防止客户端通过document.cookie
发生XSS攻击。为什么request.getsession()不返回相同的会话
现在登录后我需要会话,所以我使用request.getSession()
访问会话。并根据HttpServletRequest
的Javadoc HttpServletRequest javadoc
request.getSession()返回与此请求相关联的当前会话,或者如果请求不具有会话,创建一个。
但是我登录后得到不同的会话。
定义“不同”会话?与您期望的不同的实例或...? – nablex
@ user1109519一个不同的会话ID正在被创建,因此一个不同的'JSESSIONID' cookie被发送到浏览器,而不是前一个。 – tiger
你是否每次都在过滤器中设置'JSESSIONID'?显示过滤器的一些代码。 –