1、在pom.xml 中添加 redis依赖 和redis的session依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
2、在Spring Boot 启动类中添加
@EnableRedisHttpSession(maxInactiveIntervalInSeconds=60) //设置启用redis的session 和超时时间默认秒
3、编写对应restful请求:
package com.example.demo.session;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class SessionController {
@RequestMapping("/session")
public Object springSession(@RequestParam("username") String username, HttpServletRequest request, HttpSession session) {
Cookie[] cookies = request.getCookies();
if (cookies != null && cookies.length > 0) {
for (Cookie cookie : cookies) {
if (cookie.getName().contains("SESSION")) {
System.out.println(cookie.getName() + "=" + cookie.getValue());
}
}
}
Object value = session.getAttribute("username");
if (value == null) {
System.out.println("用户不存在");
session.setAttribute("username", "{username: '" + username+ "', age: 28}");
} else {
System.out.println("用户存在");
}
return "username=" + value;
}
}