STUDY/JAVA

[JAVA] 세션(session) 사용 방법

ReCode.B 2023. 6. 13. 14:06
728x90

 

 

 

사용방법 확인 전 읽어야 할 세션 설명 글 : 

https://rebornbb.tistory.com/entry/IT-%EC%BF%A0%ED%82%A4Cookie%EC%99%80-%EC%84%B8%EC%85%98Session%EC%9D%B4%EB%9E%80

 

[Web] 쿠키(Cookie)와 세션(Session)이란?

Cookie 브라우저에 저장 되는 데이터 웹브라우저에서 서버로 어떤 자원을 요청(request)을 하면 요청하는 대상이 jsp페이지라면, 요청을 받았을때 서버에서는 해당 jsp 파일이 처리가 되면서 쿠키라

rebornbb.tistory.com

 


 

세션(session) 사용 방법

 

javax.servlet.http.HttpSession으로 세션 데이터를 다룰 수 있다.

1) 세션 생성 및 얻기

HttpSession session = request.getSession();
HttpSession session = request.getSession(true);

request의 getSession() 메서드는 서버에 생성된 세션이 있다면 세션을 반환하고,

없다면 새 세션을 생성하여 반환한다. (인수 default가 true)

 

새롭게 생성된 세션인지는 HttpSession의 isNew() 메서드로 알 수 있다.

 

2) 세션에 값 저장하기

setAttribute(String name, Object value)

setAttribute는 name, value 쌍으로 객체 Object를 저장하는 메서드다.

세션이 유지되는 동안 저장된다.

 

3) 세션 값 조회하기

getAttribute(String name)

getAttribute 메서드로 세션에 저장된 값을 조회할 수 있다.

리턴 타입은 Object이므로 형변환이 필요하다.

 

메서드 setAttribute에 이용한 name을 알고 있으면 다음과 같이 조회할 수 있다.

String sessionValue = (String)session.getAttribute("name");

 

4) 세션 값 삭제하

removeAttribute(String name)

removeAttribute 메서드로 name 값에 해당하는 세션 정보를 삭제할 수 있다.

invalidate()

invalidate로 모든 세션 정보를 한 번에 삭제할 수 있다.

 

 

5) 세션 유지 시간 설정하기

기본적으로 세션은 30분 유지된다.

세션 유지 시간은 서버에 접속한 후 서버에 요청을 하지 않는 최대 시간을 말한다.

30분 이상 서버에 전혀 반응을 보이지 않으면, 세션이 자동으로 끊어진다.

이 세션 유지 시간은 web.xml 파일에서 설정할 수 있다.

<session-config>
  <session-timeout>30</session-timeout>
</session-config>

 

 

출처 : https://enai.tistory.com/29

728x90