servlet
[Servlet API]
1. javax.servlet.http.HttpSession
- 세션 생성
ㅤrequest.getSession()
- 생성된 세션 객체 반환
ㅤrequest.getSession()
- 세션 객체에 데이터 저장
ㅤsession. setAttribute(key, value);
- 세션 객체에 저장된 데이터 반환
ㅤObject getAttribute(key);
- 세션 구분을 위한 고유한 id 확인
ㅤString getId()
2. javax.servlet.http.Cookie
- 쿠키 생성
ㅤnew Cookie(key, value);
ㅤ- 이때 쿠키의 경우엔 탈취 등의 문제 때문에 문자열만 다룰 수 있다.
- 쿠키 저장시간 설정
ㅤsetMaxAge("초단위")
- 클라이언트 시스템에 저장
ㅤresponse.addCookie(쿠키 객체)
- 클라이언트 시스템에서 쿠키 획득
ㅤCookie[] cookies = request.getCookies()
3. 생성 방법이 다른 이유
- 세션의 경우엔 web container 측에서 관리하고 있다. 이를 해당 컨테이너에서 세션을 여러개 생성하지 못하게 해놨으며 web container 측에서 session id를 고유하게 생성해주는 등의 문제로 직접 생성하지 못하게 하는 이유가 있다.
- 쿠키의 경우엔 여러개를 설정하고 사용할 수 있게 했기 때문에 직접 생성해서 클라이언트 서버에서 저장해 사용할 수 있게 했기 때문에 직접 생성을 해서 클라이언트측 서버로 저장하는 등의 방식을 사용하고 있다.