浏览器每次请求都会创建新的session问题

情况:
近期在项目中遇到request.getSession().setAttribute()后,getAttribute拿不到值的情况,总是报空指针异常,打印后发现每次请求都会创建新的session
使用IE浏览器后发现是正常的,Chrome浏览器就会有问题
原因:
80版本的chrome为了增强安全性,新增了一个SameSite的属性导致的。
解决方法:
使用response.setHeader(name: "Set-Cookie", value: "_u=xxxx; Path=/Login; SameSite=None; Secure")进行设置
选择显式关闭 SameSite 属性,将其设为 None ,同时必须设置 Secure 属性(表示Cookie 只能通过 HTTPS 协议发送,HTTP协议不会发送)
同时将前端请求换为https请求
点击链接查看
谷歌浏览器新版本Chrome 80默认SameSite导致跨域登录状态失效的问题https://blog.csdn.net/sinat_36521655/article/details/104844667

你可能感兴趣的:(java基础,java,session)