Session 存储到 Cookie

默认情况下,Servlet容器会在第一次创建Session时自动发送一个名为JSESSIONID的Cookie到客户端浏览器,用于唯一标识用户的Session。

当客户端发送后续请求时,浏览器会自动在请求头中附加该Cookie,从而允许Servlet容器识别并恢复与该用户关联的Session。

实例代码

request.getSession().setAttribute("uid", uid);
request.getSession().setAttribute("user", userInfoResponse.toString());
request.getSession().setAttribute("access_token", access_token); 

在Java Servlet中,request.getSession()用于获取当前请求的Session对象。当调用getSession()方法时,Servlet容器会首先检查请求中是否包含Session ID的标识(通常通过Cookie传递),如果有,则返回对应的Session对象;如果没有,则创建一个新的Session对象,并将Session ID发送到客户端浏览器的Cookie中。

request.getSession().setAttribute()方法用于在Session对象中设置属性。在您的代码示例中,uiduserInfoResponseaccess_token会被设置为Session的属性。但是,这些属性的设置并不会直接导致Session数据默认写入Cookie中。

默认情况下,Servlet容器会在第一次创建Session时自动发送一个名为JSESSIONID的Cookie到客户端浏览器,用于唯一标识用户的Session。当客户端发送后续请求时,浏览器会自动在请求头中附加该Cookie,从而允许Servlet容器识别并恢复与该用户关联的Session。

至于Session中的其他属性(如您的代码中的uiduserInfoResponseaccess_token),它们不会自动写入Cookie中。它们仅在后端服务器内部存储,并通过Session ID 进行关联。

如果您想要将其他属性数据传递到前端(例如将uiduserInfoResponseaccess_token发送到前端JavaScript代码中),您需要在后端根据需要将这些属性值放入响应的数据中,并通过API响应传递给前端。

例如,您可以在Spring Boot后端的Controller中,将uiduserInfoResponseaccess_token打包成一个JSON对象,并在API响应中返回该JSON对象。然后,在Vue.js前端代码中,您可以从API响应中解析这些属性值,并在前端JavaScript中使用它们。

总结:Session ID 通常由Servlet容器自动管理,并通过Cookie传递给客户端。但Session中的其他属性值并不会自动写入Cookie中,如果您需要在前端JavaScript中使用这些属性值,您需要通过API响应将它们传递给前端。

猜你喜欢

转载自blog.csdn.net/qq_35930739/article/details/132082868
今日推荐