Web Dev/JSP

JSP 8강 :: 쿠키, 쿠키와 로그인

HJPlumtree 2022. 10. 17. 18:43

JSP에서 기억하고 싶은 내용

 

 

쿠키란?

사용자 식별 정보

이름, 값을 갖는 작은 텍스트 데이터

클라이언트의 상태관리 기법중 하나

 

추가 정보도 포함할 수 있다

추가 정보: 유효시간, 도메인, 경로, 주석

추가 정보는 브라우저에 저장

 

쿠키 생성해보자

Cookie cookie = new Cookie("name", "value");
response.addCookie(cookie);

 

쿠키를 조작하는 메서드

getName(), getValue(), setValue(String value) 등 쿠키를 가져오고 설정한다

 

쿠키 값 읽는 방법

Cookie[] cookies = request.getCookies();

 

쿠키의 유효시간 정하기

setMaxAge

유효 시간을 0으로 하면 쿠키를 삭제한다

시간 설정 안하면 웹 브라우저가 종료될 때 삭제된다

기본 값: -1

 

쿠키 값을 변경하자

같은 이름의 cookie에 값을 바꿔서 추가하면 된다

Cookie cookie = new Cookie("name", "jimmy");
response.addCookie(cookie);
Cookie cookie = new Cookie("name", "james");
response.addCookie(cookie);

 

쿠키 삭제

유효 시간을 0으로 해주면 삭제한다는 의미!

cookie.setMaxAge(0);
response.addCookie(cookie);

 

 

쿠키의 도메인이란?

기본적으로 쿠키는 쿠키를 보낸 서버에게만 전송될 수 있다

하지만 도메인 설정을 해주면 같은 도메인 상에 있는 다른 호스트와 쿠키 공유 가능!

 

쿠키를 생성한 서버의 주소와 관련 없는 도메인은 안된다

cookie.setDomain(.oracle.com)

이렇게 하면 java.oracle.com, www.oracle.com  등 가능

 

 

쿠키의 경로를 변경할 수 있다

경로 지정안하면 쿠키 만든 페이지의 경로로 설정된다

setPath(String uri) 사용

 

 

HTTP 프로토콜의 stateless 특성

a.jsp요청과 연속된 b.jsp 요청은 서로 무관하다

상태 관리를 위해 쿠키나 세션 이용한다

 

 

쿠키를 이용해서 로그인/아웃을 해보자

  1. 로그인 시도
  2. 가입된 유저인지 판단
  3. 가입된 유저면 로그인 상태에서 사용할 쿠키 생성
  4. 이후 방문하면 서버에서는 클라이언트에서 보낸 쿠키를 가지고 로그인 여부 판단
  5. 로그아웃하면 사용했던 쿠키를 삭제