【服务器端(java)】通过request.getSession().getAttribute(key)获取的值为null的问题记录

一、前言

前提:该请求下是在跨域情况下,并且跨域解决方案为cors。
在已经将值存入session的情况下,使用request.getSession().getAttribute(key)获取的值却为null,经查证,原来是跨域情况下,默认不允许传送cookie。因此,需要对前后端进行设置。

二、设置

前端:

axios.defaults.withCredentials=true

后端:

response.setHeader("Access-Control-Allow-Credentials","true");

当我这样设置之后还是报错,后来根据报错提示找到原因:不能设置"Access-Control-Allow-Origin"为"*",故修改为网站的地址:

response.setHeader("Access-Control-Allow-Origin", "http://localhost:8081");

三、总结

经过上述设置之后,request.getSession().getAttribute(key)成功获取到数据。

你可能感兴趣的:(【服务器端(java)】通过request.getSession().getAttribute(key)获取的值为null的问题记录)