Spring Session
在 IntelliJ IDEA 中创建一个 Spring Boot 项目并使用 Spring Session 来管理会话,可以按照以下步骤进行:
1. 创建 Spring Boot 项目
-
打开 IntelliJ IDEA 并选择 “New Project”。
-
在左侧的菜单中选择 “Spring Initializr”。
-
配置项目的基本信息:
- Group: com.dependencies
- Artifact: spring-session
- Name: spring-session
- Type: Maven
- Language: Java
- Packaging: Jar
- Java Version: 17
-
点击 “Next”。
-
在 “Dependencies” 页面,添加以下依赖:
- Spring Web - 用于创建Web应用程序。
- Spring Session - 用于会话管理。
-
点击 “Next”,然后点击 “Finish” 来创建项目。
2. 配置项目的依赖
IDEA 会自动生成一个 pom.xml
文件并添加你选择的依赖。确保 pom.xml
包含以下依赖:
<dependencies>
<!-- Spring Boot Starter Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring Session Core -->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-core</artifactId>
</dependency>
</dependencies>
3. 配置 Spring Session
在 application.properties
文件中配置会话的过期时间和其他属性:
配置文件作为项目后期扩展使用,单纯调试依赖的可用性,也可以不用配置以下参数。
# 设置会话超时时间(以秒为单位)
server.servlet.session.timeout=1800
# 设置会话Cookie名称
server.servlet.session.cookie.name=MYSESSIONID
# 设置会话Cookie路径
server.servlet.session.cookie.path=/
# 设置会话Cookie的HttpOnly属性
server.servlet.session.cookie.http-only=true
# 设置会话Cookie的Secure属性
server.servlet.session.cookie.secure=true
4. 创建控制器
创建一个控制器类来测试会话管理:
package com.dependencies.springsession.controller;
import jakarta.servlet.http.HttpSession;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.UUID;
/**
* @author zhizhou 2024/7/24 23:17
*/
@RestController
@RequestMapping("/session")
public class SessionController {
@GetMapping("/create")
public String createSession(HttpSession session) {
String sessionId = UUID.randomUUID().toString();
session.setAttribute("sessionId", sessionId);
return "Session created with ID: " + sessionId;
}
@GetMapping("/get")
public String getSession(HttpSession session) {
String sessionId = (String) session.getAttribute("sessionId");
return "Session ID: " + sessionId;
}
}
5. 创建主应用程序类
创建主应用程序类并注解 @SpringBootApplication
:
package com.dependencies.springsession;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringSessionApplication {
public static void main(String[] args) {
SpringApplication.run(SpringSessionApplication.class, args);
}
}
6. 运行项目
-
在 IntelliJ IDEA 中,找到主应用程序类 SpringSessionApplication。
-
右键点击该类,并选择 “Run ‘SpringSessionApplication’” 来启动项目。
7. 测试会话管理
启动 Spring Boot 应用程序后,默认端口8080,你可以访问以下URL来测试会话管理功能:
- 创建会话:
http://localhost:8080/session/create
- 获取会话:
http://localhost:8080/session/get
在访问 /session/create
时,会生成一个新的会话ID并存储在会话中。访问 /session/get
时,会返回存储在会话中的会话ID。
如图所示:
总结
通过以上步骤,你在 IntelliJ IDEA 中创建了一个 Spring Boot 项目,添加了 Spring Session 依赖,并配置了会话的管理和属性。通过简单的控制器类,你可以测试会话的创建和获取功能。这些步骤可以帮助你快速上手使用 Spring Session 来管理 HTTP 会话。