Session : 클라이언트와 서버 간 상호작용을 하기 위해 유지되는 상태 데이터를 의미, 이전 요청에서 생성된 데이터를 다음 요청에서 활용하기 위해 사용
웹 애플리케이션의 세션 관리를 위한 인터페이스와 세션 저장소를 제공한다.
세션의 종류
스프링 세션과 연동 가능한 기능
// Maven
<dependencies>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-core</artifactId>
<version>{version}</version>
</dependency>
</dependencies>
// gradle
implementation 'org.springframework.session:spring-session-core'
spring:
data:
redis:
host: 127.0.0.1
port: 6379
session:
store-type: redis
@GetMapping("/")
public Map<String, String> home(HttpSession session) {
Integer visitCount = (Integer) session.getAttribute("visits");
if(visitCount == null)
visitCount = 0;
session.setAttribute("visits", ++visitCount);
return Map.of("session id", session.getId(), "visits", visitCount.toString());
}