springboot 获取全部session
时间: 2023-10-05 12:10:20 浏览: 343
springboot通过redis共享session
Spring Boot 默认是使用 Servlet 容器来管理 Session 的,可以通过注入 HttpSession 对象来获取所有的 Session。具体实现可以参考以下代码:
```java
@Controller
public class SessionController {
@Autowired
private HttpServletRequest request;
@GetMapping("/sessions")
@ResponseBody
public List<String> getAllSessions() {
List<String> sessions = new ArrayList<>();
HttpSessionContext context = request.getSession().getServletContext();
for (HttpSession session : Collections.list(context.getSessionEnumeration())) {
sessions.add(session.getId());
}
return sessions;
}
}
```
在这个示例中,我们使用 `HttpServletRequest` 对象来获取 `HttpSession` 上下文,然后枚举所有的 `HttpSession` 并将其 ID 添加到一个列表中。最后将列表返回给客户端。
阅读全文