前后端分离时Session踩坑

以前对Session操作时从来没出现过问题

HttpSession session = request.getSession();// 获取session对象
String username = "admin";
session.setAttribute("username", username);// 将username插入session中
session.getAttribute("username");// 获取session中的值

但是在代码前后端分离的时候就会发生问题(前端用的vue)

这个是我通过页面去访问这个接口,发现session的返回值为空

前后端分离时Session踩坑_第1张图片

然后我在浏览器直接访问这个接口,发现可以正常返回session中的值

研究了一会我发现,将项目部署到服务器上时便可以正常通过页面访问来返回session中的值

因为我们存储的session值是存储在Tomcat的Session域之中,所以我们只有访问这个Tomcat才能取到session中的值,

但是当我们通过页面来访问接口,并不是访问我们本地的Tomcat,所以就算请求地址是一样的也取不到session,因为这个里面压根就没有我们当时存的session值

你可能感兴趣的:(踩坑之路)