세션 API의 특징과 기능
서블릿에서 세션을 이용하려면 HttpSession 클래스 객체를 생성해서 사용해야 합니다. HttpSession 객체는 HttpServletRequest의 getSession() 메서드를 호출해서 생성합니다.
세션을 얻는 getSession() 메서드로는 다음과 같인 것들이 있습니다.
- getSession(): 기존의 세션 객체가 존재하면 반환하고, 없으면 새로 생성합니다.
- getSession(true): 기존의 세션 객체가 존재하면 반환하고, 없으면 새로 생성합니다.
- getSession(false): 기존의 세션 객체가 존재하면 반환하고, 없으면 null을 반환합니다.
또한 HttpSession 클래스에서 제공하는 세션 기능 관련 메서드는 다음과 같습니다.
HttpSession 클래스의 여러 가지 메서드
| 반환 타입 | 메서드 | 설명 |
| Object | getAttribute (String name) |
속성 이름이 name인 속성 값을 Object 타입으로 반환합니다. 해당되는 속성 이름이 없을 경우 null 값을 반환합니다. |
| Enumeration | getAttributeNames() | 세션 속성 이름들을 Enumeration 객체 타입으로 반환합니다. |
| long | getCreationTime() | 1970년 1월 1일 0시 0초를 기준으로 현재 세션이 생성된 시간까지 경과한 시간을 계산하여 1/1000초 값을 반환합니다. |
| String | getId() | 세션을 할당한 고유 식별자를 String 타입으로 반환합니다. |
| int | getMaxInactiveInterval() | 현재 생성된 세션을 유지하기 위해 설정된 세션 유지 시간을 int 타입으로 반환합니다. |
| void | invalidate() | 현재 생성된 세션을 소멸합니다. |
| boolean | isNew() | 최초로 생성된 세션인지 기준에 생성되어 있었던 세션인지 판별합니다. |
| void | removeAttribute (string name) |
세션 속성 이름이 name인 속성을 제거합니다. |
| void | setAttribute (String name, Object value) |
세션 속성 이름이 name인 속성에 속성 값으로 value를 할당합니다. |
| void | setMaxInactiveInterval (int interval) |
세션을 유지하기 위한 세션 유지 시간을 초 단위로 설정합니다. |
'프로그래밍 언어 > 자바 웹' 카테고리의 다른 글
| 다른 브라우저에서 새 세션 만들기 (3) | 2025.08.14 |
|---|---|
| 서블릿에서 세션 API 이용하기 (2) | 2025.08.11 |
| 세션 기능 실행 과정 (1) | 2025.08.09 |
| 세션을 이용한 웹 페이지 연동 기능 (2) | 2025.07.31 |
| 세션 쿠키 사용하기 (2) | 2025.07.28 |