Written by
최태열
on
on
Servlet3
Cookie와 Session
Session Tracking
일정 시간 동안 동일한 사용자의 여러 요청들을 유지 관리하기 위한 기술이다. 웹 애플리케이션과 웹 브라우저 사이에서 정보 교환을 한다.
Cookie
Cookie는?
client 시스템이 상태 유지하고 하는 값을 저장
데이터 타입 : 문자열만 가능
쿠키 정보는 client가 강제 삭제도 가능
개발 코드
-
쿠키 생성 - key와 value로 데이터 구분
new Cookie(별칭(key), 데이터(문자열))
-
쿠키의 잔존 시간 설정
setMaxAge(초단위)
-
client 시스템에 저장
addCookie()
- 이동된 web page(servlet or jsp)
- clinet 시스템에서 쿠키 획득 및 활용
- Cookie [] c = request.getCookies()
- getName(“쿠키의 별칭”)
- getValue()
- 쿠키 정보 삭제 방법
- client 시스템에서 client가 직접 삭제
- 코드로 client 시스템에 해당 key에 매핑된 정보 삭제
Session
Session은?
server 시스템이 상태 유지하고 하는 값을 저장
데이터 : 제한없이 객체 타입은 다 저장 가능
개발방식
-
HttpSession 객체 생성
HttpSession 변수 = request.getSession()
-
HttpSession에 데이터 저장
변수.setAttribute(key, value);
-
화면이동
제한없이 이동 가능
-
HttpSession 재사용해서 획득
HttpSession 변수 = request.getSession()
- HttpSession 데이터 획득 변수.getAttribute(key)
- 해당 user만의 고유한 세션 객체 삭제 or 세션에 저장된 데이터(Attribute) 삭제
- 데이터 하나만 삭제 변수.removeAttribute(key)
- 세션 객체 자체를 무효화 변수.invalidate()