hanker

[Java] javax.servlet.http.HttpSession (웹 사용자 세션 관리) 본문

JAVA

[Java] javax.servlet.http.HttpSession (웹 사용자 세션 관리)

hanker 2025. 6. 15. 12:02
반응형

HttpSession은 Java Servlet API에서 웹 애플리케이션이 클라이언트(웹 브라우저)와 서버 간의 상태 정보를 유지할 수 있도록 해주는 인터페이스이다.

웹은 기본적으로 stateless 이기 때문에, 로그인 상태나 사용자의 고유 데이터를 유지하기 위해 HttpSession을 사용한다.

 

주로 웹 사용자의 세션관리나, 상태 정보 저장, 로그인 및 인증 상태 유지 등 클라이언트의 정보를 관리하는 역할을 한다.

 

이번 글에서는 HttpSession 인터페이스에 대해서 알아보고 사용할 수 있는 기능들에 대해서 알아보자

 


1. HttpSession

 

javax.servlet.http.HttpSession

항목 설명
패키지 javax.servlet.http
타입 인터페이스 (Interface)
역할 클라이언트와 연결된 세션 객체 표현, 사용자별 데이터 저장 및 상태 유지

 

기본 목적

 

  • 사용자 상태 유지
  • 요청 간 데이터 공유
  • 세션 수명 제어 및 추적

 


2. HttpSession 기능
메서드명 return 타입 기능
setAttribute(String, Object) void 세션에 속성 저장
getAttribute(String) Object 세션에서 속성 조회
invalidate() void 세션 무효화 및 모든 데이터 삭제
removeAttribute(String) void 특정 속성 삭제
setMaxInactiveInterval(int) void 세션 만료시간 설정(초)
getId() String 세션 고유 ID 조회
isNew() boolean 새 세션 여부 확인
getAttributeNames() Enumeration<String> 모든 속성명 조회
getMaxInactiveInterval() int 현재 만료시간 조회
getCreationTime() long 세션 생성시간(밀리초)
getLastAccessedTime() long 마지막 접근시간(밀리초)
getServletContext() ServletContext 웹앱 컨텍스트 조회

 

주 사용 메서드들은 아래 3개인데, 이 3개의 메서드들이 95%정도 사용된다.

  • setAttribute()
  • getAttribute()
  • invalidate()

 

 

 

 

 

 

 

 

* 참고

https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpSession.html

 

HttpSession (Java(TM) EE 7 Specification APIs)

Provides a way to identify a user across more than one page request or visit to a Web site and to store information about that user. The servlet container uses this interface to create a session between an HTTP client and an HTTP server. The session persis

docs.oracle.com

 

 

 

 

반응형