参考了网上其他很多的办法都没有解决,最后解决了,赶紧记录一下,具体代码如下:
//登陆前后更换用户的cookie
Cookie[] cookies = request.getCookies() ; //获取全部的cookie
if(cookies != null) {
for(int i=0;i<cookies.length;i++) {
if("JSESSIONID".equals(cookies[i].getName())) { //每个cookie有对应的一个name,这边我只想要处理name为“JSESSIONID”的cookie
cookies[i].setPath("/oms"); //这边的path必须要设置,path来源参考下图
cookies[i].setValue(SHAUtil.SHA256(String.valueOf(System.currentTimeMillis() + i)).substring(0,32).toUpperCase()); //这边是我自己取时间戳,做一个加密,获取前32位,大家根据实际情况可以自行修改
cookies[i].setMaxAge(-1); //这边我设置cookie的有效期无限,大家根据实际情况修改
response.addCookie(cookies[i]); //将修改后的cookie作为响应返回给客户端
}
}
}
cookie.setPath,内容如下图,可以在postman进行查看;
修改cookie的结果如下,可以看到cookie改变了。