본문 바로가기
Language/Java

[Java] 세션 Session

Writer mintparc 2019. 12. 4.

세션 Session


세션은 javax.servlet.http 패키지의 HttpSession 인터페이스를 구현해서 사용한다. 로그인을 기준으로 설명하자면, 로그인된 사용자의 상태(정보)를 저장해 두고 상태를 유지한다.

 

 

주요 메소드


  • setAttribute
session.setAttribute("객체이름", 객체);

세션 속성에 객체를 담는 역할을 하는 메서드이다. 들어가는 객체가 무엇이 될지 모르므로 자동으로 최상위 클래스인 Object 형으로 UpCasting(업 캐스팅)된다.

 

 

  • getAttribute
session.getAttribute("객체이름");

setAttribute 메서드에서 담아준 객체를 받아오는 역할을 한다. 이때 UpCasting(업 캐스팅)된 객체를 다시 DownCasting(다운 캐스팅)해줘야 한다. 만약 해당되는 객체 이름이 존재하지 않으면 null값이 리턴된다.

 

 

  • setMaxInactiveInterval
session.setMaxInactiveInterval(20 * 60);	// 20분동안 요청없을 시 세션 자동 만료

은행 사이트 혹은 학교 사이트 방문 시 로그인 후 일정 시간이 지나면 세션이 만료되어 재로그인을 해야 하는 경험을 해본 적이 있을 것이다. 이처럼 일정 시간이 지나면 세션을 만료시켜주는 것이 setMaxInactiveInterval 메서드이다. 초 단위로 제어해준다. 설정해주지 않을 시 기본값은 30분이며 음수 설정 시 무제한이다.

 

 

댓글