일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- springboot
- mssql
- Linux
- 티스토리챌린지
- 명령어
- 오블완
- 후기
- 인터페이스
- PostgreSQL
- spring
- IntelliJ
- java
- pandas
- DBMS
- 자바
- mysql
- SQL
- github
- 독서
- 인덱스
- 리눅스
- Python
- docker
- oracle
- MariaDB
- error
- git
- Javascript
- 네트워크
- 책
- Today
- Total
hanker
[Java] javax.servlet.http.HttpSession (웹 사용자 세션 관리) 본문
HttpSession은 Java Servlet API에서 웹 애플리케이션이 클라이언트(웹 브라우저)와 서버 간의 상태 정보를 유지할 수 있도록 해주는 인터페이스이다.
웹은 기본적으로 stateless 이기 때문에, 로그인 상태나 사용자의 고유 데이터를 유지하기 위해 HttpSession을 사용한다.
주로 웹 사용자의 세션관리나, 상태 정보 저장, 로그인 및 인증 상태 유지 등 클라이언트의 정보를 관리하는 역할을 한다.
이번 글에서는 HttpSession 인터페이스에 대해서 알아보고 사용할 수 있는 기능들에 대해서 알아보자
1. 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
'JAVA' 카테고리의 다른 글
[JAVA] Cookie Control (쿠키 추가 및 삭제하는 방법) (1) | 2025.06.21 |
---|---|
[JAVA] java 11 버전과 java 17 버전의 핵심 차이점 (3) | 2025.05.29 |
[JAVA] Java 11 이상에서 sun.misc.BASE64Encoder 대체하기 (1) | 2025.05.28 |
[JAVA] java 8버전과 java 11버전의 핵심 차이점 (2) | 2025.05.26 |
Java - 지역 번호, 핸드폰 번호 변환 (format) (0) | 2025.03.11 |