728x90
세션(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>
728x90
'STUDY > JAVA' 카테고리의 다른 글
[JAVA] Map 중복 키 허용 방법 (0) | 2023.06.26 |
---|---|
[JAVA] 하드코딩을 피하는 자바 상수 사용법 (0) | 2023.06.22 |
[JAVA] kmp알고리즘 (6) | 2023.05.24 |
[JAVA] List, Map, List<Map> - key, value 출력하기 (0) | 2023.05.24 |
[JAVA] 자바 로그 - Logger (0) | 2023.05.24 |