集群、分布式丢失session 作者:马育民 • 2020-07-21 21:40 • 阅读:10056 # 创建springboot工程 # 创建User类 创建User类,封装登录用户的信息 ``` package top.malaoshi.stdsession.bean; import java.io.Serializable; public class User implements Serializable { private String name; private String sex; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } ``` # 创建测试Controller ``` package top.malaoshi.stdsession.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import top.malaoshi.stdsession.bean.User; import javax.servlet.http.HttpSession; @RestController public class TestSessionController { @GetMapping("set") public String set(HttpSession session){ User user=new User(); user.setName("李雷"); user.setSex("男"); user.setAge(20); session.setAttribute("string","字符串"); session.setAttribute("user",user); return "ok"; } @GetMapping("get") public String get(HttpSession session){ String string=(String)session.getAttribute("string"); User user=(User)session.getAttribute("user"); return String.format("name:%s,sex:%b,age:%s----string:%s",user.getName(),user.getSex(),user.getAge(),string); } } ``` 两个方法,一个向session放入数据,一个从session取数据 # 测试 ### 启动服务 将该工程打成jar包,启动,此服务端口为8080 在idea中修改端口为8081,启动 ### 访问8080服务 在浏览器中访问8080服务:http://localhost:8080/set 测试向session放入数据,页面显示内容如下: ``` ok ``` ##### 查看cookie,如下图: [![](https://www.malaoshi.top/upload/pic/springsession/QQ20200721-213955.png)](https://www.malaoshi.top/upload/pic/springsession/QQ20200721-213955.png) 这是servlet默认的存放在cookie中的session key:`JSESSIONID` ### 访问8081服务 在浏览器中访问8081服务:http://localhost:8081/get 测试从session取出数据,访问页面报错 ##### 查看cookie,如下图: [![](https://www.malaoshi.top/upload/pic/springsession/QQ20200721-215120.png)](https://www.malaoshi.top/upload/pic/springsession/QQ20200721-215120.png) ### 结论 2个服务各自的`JSESSIONID`值不同 原文出处:http://malaoshi.top/show_1EF5vicAImAb.html