Cookie 在 Spring Boot 中的实现
什么是Cookie?
Cookie是一小段文本信息,通常由服务器发送到浏览器,然后由浏览器存储在本地。它包含了一些键值对,用于存储关于用户的信息。浏览器在每次请求同一网站时都会将这些Cookie发送回服务器,从而维护会话状态。Cookie通常用于实现用户身份验证、跟踪用户行为、保存用户偏好设置等。
Spring Boot 中的Cookie实现
1. 创建Spring Boot项目
2. 添加依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
3. 创建Controller
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletResponse;
@RestController
@RequestMapping("/cookie")
public class CookieController {
@GetMapping("/set")
public String setCookie(HttpServletResponse response) {
// 创建一个名为 "user" 的Cookie
Cookie cookie = new Cookie("user", "JohnDoe");
// 设置Cookie的有效期为一小时
cookie.setMaxAge(3600);
// 将Cookie添加到响应中
response.addCookie(cookie);
return "Cookie已设置";
}
@GetMapping("/get")
public String getCookie(@CookieValue(value = "user", defaultValue = "Guest") String userName) {
return "当前用户:" + userName;
}
}
4. 测试Cookie
- 访问
/cookie/set
,将设置一个名为 “user” 的Cookie。 - 访问
/cookie/get
,将读取并显示 “user” Cookie的值。