我正在尝试编辑现有cookie的值,但是徒劳无功。我甚至尝试删除冷cookie并创建一个具有新价值的新cookie,但即使这样也没有用。用于编辑Cookie的代码段:
Cookie modifyCookie= new Cookie(cookie.getName(), newValue)
modifyCookie.setMaxAge(30000)
modifyCookie.setPath("/")
response.addCookie(modifyCookie)
删除并创建一个新的: //删除旧的
Cookie oldCookie = new Cookie(cookie.getName(), null)
oldCookie.setMaxAge(0);
oldCookie.setPath("/")
response.addCookie(oldCookie);
//创建一个新的
Cookie newCookie = new Cookie(newCookieName, newValue
newCookie.setMaxAge(30000)
newCookie.setPath("/")
response.addCookie(newCookie)
既不会改变现有的cookie,也不会删除旧的cookie,而是创建新的
你能告诉我缺少什么吗?
答案 0 :(得分:0)
@rukavitsya 感谢您的意见。问题解决了。
问题是我在发送响应后向响应中添加了cookie。因此,cookie未在后续请求中反映出来。 我用以下方式编辑了现有的cookie:
Cookie oldCookie = new Cookie(cookie.getName(), newValue)
oldCookie.setMaxAge(30000);
oldCookie.setPath("/")
oldCookie.setDomain("domain.com")
response.addCookie(oldCookie);
当我在发送回复之前编辑cookie时,事情按预期工作。