AngelPlayer`s Diary

세션 - 클라이언트와 웹 서버 간의 상태를 지속적으로 유지하는 방법

사용자 인증을 통해 특정 페이지를 사용할 수 있도록 권한 상태를 유지

 

세션은 웹 서버에서만 접근이 가능 -> 보안 유지에 유리, 데이터 저장에 한계가 없음

세션은 웹 서버에만 존재하는 객체로, 각 웹브라우저마다 하나씩 존재함 -> 사용자를 구분하는 단위

 

JSP는 session 내장 객체를 가짐

 

 

세션 생성 - setAttribute()

session.setAttribute("세션 이름", 세션 내용);

 

 

 

세션 정보 가져오기 - 반환 형이 String이 아니므로 형 변환을 필요로 함

- getAttribute() : Object 형으로 받아옴

session.(String)getAttribute("세션 이름");

 

 

- getAttributeNames() : Enumeration 형으로 모든 세션을 받아옴(Enum에 대한 페이지 디렉티브 import가 필요함)

Enumeration enum = session.(String)getAttributeNames();

while(enum.hasMoreElements()) {
	String name = enum.nextElement().toString(); // 세션 이름을 받아옴
    String value = session.getAttribute(name).toString(); // 세션 이름을 통해 값을 받아옴
}

 

 

 

세션 삭제

- removeAttribute() : 단일 세션을 삭제

session.removeAttribute("세션 이름");

 

 

- invalidate() : 모든 세션을 삭제

session.invalidate();

 

 

 

세션 유효 확인 - isRequestedSessionIdValid()

request.isRequestedSessionIdValid() == true // 요청에 포함된 세션이 유효한지 체크하는 조건으로 사용

 

 

 

세션 유효 시간 설정 - 세션을 유지하기 위한 세션의 일정 시간을 의미, 기본 1800초, 초 단위로 설정 가능

session.setMaxInactiveInterval(시간);

 

 

세션이 생성된 시간

session.getCreationTime();

 

 

세션에 마지막으로 접근한 시간

session.getLastAccessedTime();

 

 

공유하기

facebook twitter kakaoTalk kakaostory naver band