Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

JSP 세션(Session) 객체의 주요 메소드 11가지와 활용 방법 완벽 정리

JSP에서 세션(session)은 사용자별 상태 정보를 서버에 저장하고 관리하는 핵심 기술입니다. 로그인 상태 유지, 장바구니 관리, 사용자 설정 저장 등 다양한 기능이 세션 객체를 기반으로 구현됩니다. 이 글에서는 JSP 개발 시 가장 자주 사용되는 세션 객체의 주요 메소드 11가지를 정리하여 소개합니다.

JSP 세션 객체의 주요 메소드 목록

번호메소드 및 설명
1public Object getAttribute(String name)
세션에 지정된 이름으로 바인딩된 객체를 반환합니다. 해당 이름으로 저장된 객체가 없으면 null을 반환합니다.
2public Enumeration getAttributeNames()
현재 세션에 바인딩된 모든 객체의 이름을 담고 있는 String 객체들의 Enumeration을 반환합니다.
3public long getCreationTime()
세션이 생성된 시간을 1970년 1월 1일 자정(GMT) 이후 경과된 밀리초(ms) 단위로 반환합니다.
4public String getId()
해당 세션에 할당된 고유 식별자(ID)를 문자열 형태로 반환합니다.
5public long getLastAccessedTime()
클라이언트가 해당 세션과 관련된 요청을 마지막으로 보낸 시간을 1970년 1월 1일 자정(GMT) 이후 경과된 밀리초 단위로 반환합니다.
6public int getMaxInactiveInterval()
서블릿 컨테이너가 클라이언트의 요청 없이 세션을 유지하는 최대 시간 간격을 초 단위로 반환합니다.
7public void invalidate()
세션을 강제로 무효화하고, 세션에 바인딩된 모든 객체의 바인딩을 해제합니다. 주로 로그아웃 처리에 사용됩니다.
8public boolean isNew()
클라이언트가 아직 해당 세션을 인지하지 못했거나 세션 참여를 거부한 경우 true를 반환합니다.
9public void removeAttribute(String name)
세션에서 지정된 이름으로 바인딩된 객체를 제거합니다.
10public void setAttribute(String name, Object value)
지정한 이름을 키(key)로 하여 객체를 세션에 저장(바인딩)합니다.
11public void setMaxInactiveInterval(int interval)
클라이언트의 요청이 일정 시간 동안 없을 경우 세션을 무효화하도록, 그 시간 간격을 초 단위로 지정합니다.

자주 사용되는 메소드 조합 예시

실무에서는 위 메소드들을 조합하여 다음과 같이 활용할 수 있습니다.

1. 값 저장 및 조회

setAttribute()로 로그인 사용자 정보를 저장하고, 다른 페이지에서 getAttribute()로 해당 정보를 꺼내 사용하는 패턴이 가장 일반적입니다.

2. 로그아웃 처리

invalidate()를 호출하면 세션에 저장된 모든 데이터가 삭제되므로, 로그아웃 기능을 간단하고 안전하게 구현할 수 있습니다.

3. 세션 타임아웃 설정

setMaxInactiveInterval()을 사용하면 보안을 위해 일정 시간 동안 활동이 없는 사용자의 세션을 자동으로 만료시킬 수 있습니다.

마무리

세션 객체의 메소드를 정확히 이해하면 사용자 상태 관리를 효율적으로 처리할 수 있습니다. 특히 setAttribute / getAttribute / removeAttribute / invalidate 네 가지 메소드는 실무에서 가장 빈번하게 사용되므로 반드시 숙지하시기 바랍니다.