HttpSession은 Java 웹 응용 프로그램에서 사용자 간의 상태 정보를 유지하고 관리하기 위한 인터페이스입니다. HTTP 프로토콜은 기본적으로 상태를 유지하지 않기 때문에, 각각의 HTTP 요청은 독립적이며 이전 요청과 상관이 없습니다. 이 때문에 사용자의 세션 상태를 유지하려면 추가적인 메커니즘이 필요합니다.
HttpSession은 클라이언트와 서버 간의 지속적인 상태 유지를 지원하기 위해 사용됩니다. 주로 다음과 같은 상황에서 활용됩니다:
사용자 인증과 관련된 정보 유지: 로그인한 사용자의 정보를 세션에 저장하여 여러 페이지 간에 인증 정보를 공유할 수 있습니다.
장바구니와 같은 임시 데이터 저장: 사용자가 웹 애플리케이션에서 상품을 선택하거나 다양한 상태 정보를 유지하는 데 사용될 수 있습니다.
사용자 세션 추적: 사용자의 활동을 추적하고 세션별로 데이터를 유지함으로써 특정 세션에 대한 정보를 저장할 수 있습니다.
HttpSession은 주로 다음의 메서드를 통해 사용됩니다:
1. setAttribute(String name, Object value): 세션에 속성을 저장합니다. 2. getAttribute(String name): 세션에서 특정 속성 값을 가져옵니다. 3. removeAttribute(String name): 세션에서 특정 속성을 제거합니다. 4. invalidate(): 세션을 무효화하여 모든 세션 데이터를 삭제합니다. 세션은 웹 컨테이너에 의해 생성되고 관리되며, 사용자가 세션을 시작할 때 생성되고, 세션이 종료되거나 만료될 때까지 유지됩니다. |