如何在tomcat中更改会话cookie?
当用户注销(或登录)时,我希望确保更改用户会话cookie的值。我该怎么做?如果我只执行如何在tomcat中更改会话cookie?,tomcat,session-cookies,Tomcat,Session Cookies,当用户注销(或登录)时,我希望确保更改用户会话cookie的值。我该怎么做?如果我只执行session.invalidate()tomcat不会返回会话cookie头,因为没有活动会话,因此cookie保持不变。如果我执行session.invalidate();request.getSession()要创建新会话,新会话将获得相同的sessionId,因此cookie也将保持不变 (我想更改会话cookie值,因为我们有几个WAR共享一个sessionId,我也不能轻易地使其他WAR中的会话无
session.invalidate()
tomcat不会返回会话cookie头,因为没有活动会话,因此cookie保持不变。如果我执行session.invalidate();request.getSession()
要创建新会话,新会话将获得相同的sessionId,因此cookie也将保持不变
(我想更改会话cookie值,因为我们有几个WAR共享一个sessionId,我也不能轻易地使其他WAR中的会话无效。)您似乎必须根据响应手动删除cookie。也就是说,您可以在
request.getCookies()
中找到cookie,将其最大值设置为0,然后执行response.addCookie(…)
。您还需要使会话无效,并注意不要根据该请求重新创建会话。这意味着您不能直接显示“you now logged out”(您现在已注销)页面,但必须执行客户端重定向到该页面,该页面现在将被分配一个新的会话cookie。您似乎必须根据响应手动删除cookie。也就是说,您可以在request.getCookies()
中找到cookie,将其最大值设置为0,然后执行response.addCookie(…)
。您还需要使会话无效,并注意不要根据该请求重新创建会话。这意味着您不能直接显示“you now logged out”(您现在已注销)页面,但必须执行客户端重定向到该页面,该页面现在将被分配一个新的会话cookie