프로그래밍 언어/자바 웹

세션 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)
세션을 유지하기 위한 세션 유지 시간을 초 단위로 설정합니다.