10. 쿠키(Cookie)
1) 쿠키(cookie)
- 웹 브라우저가 보관하는 데이터
- 필요시 웹 서버에서 쿠키를 생성해 웹 브라우저에 응답시 함께 전송
-> 웹 브라우저는 쿠키를 쿠키 저장소에 보관
-> 요청시 웹 서버에 쿠키를 함께 전송
-> 전송받은 쿠키를 이용해서 필요한 작업 수행
2) 쿠키의 구성
- 쿠키의 구성요소
이름: 쿠키의 식별자
값: 식별자가 가진 값
유효시간: 쿠키의 유지 시간
도메인: 쿠키를 전송할 도메인
경로: 쿠키를 전송할 요청 경로
3) 쿠키 생성
- 쿠키 클래스를 이용해서 쿠키를 생성
- 양식
<%
Cookie cookie = new Cookie("cookieName", "cookieValue"); // 쿠키 생성
response.addCookie(cookie); // 웹 브라우저에 전송
%>
4) 쿠키 클래스의 메소드
String getName() : 쿠키 이름 반환
String getValue() : 쿠키 값 반환
void setValue(String value) : 쿠키 값 지정
void setDomain(String pattern) : 쿠키가 전송될 서버의 도메인 지정
String getDomain() : 쿠키의 도메인 반환
void setPath(String uri) : 쿠키를 전송할 경로 지정
String getPath() : 쿠키의 전송 경로 반환
void setMaxAge(int expiry) : 쿠키의 유효시간을 초 단위로 지정
int getMaxAge() : 쿠키의 유효시간 반환(초 단위)
5) 쿠키 값 읽어오기
- 웹 브라우저는 요청 헤더에 쿠키를 저장해서 전송한다.
- 양식
Cookie cookies[] = request.getCookies();
- 사용 예시
Cookie cookies[] = request.getCookies();
if(cookies != null && cookies.length > 0){
for(int i = 0 ; i < cookies.length ; i++) {
name[i] = cookies[i].getName()
value[i] = URLDecoder.decode(cookies[i].getValue(), "utf-8");
}
}
6) 쿠키 값 변경 및 쿠키 삭제하기
- 변경: 같은 쿠키 이름의 쿠키 객체를 생성해서 응답 데이터에 추가
- 삭제: setMaxAge() 메소드를 이용, 매개변수로 0 입력시 삭제됨
7) 쿠키의 도메인
- 같은 도메인을 사용하는 모든 서버에 쿠키를 보내야할 때 도메인 지정
- 사용: setDomain() 메소드를 이용해서 도메인 지정
-> 해당 도메인에 모두 쿠키를 전송
*웹 브라우저는 현재 서버의 도메인과 다른 도메인에 대한 쿠키 생성은 허용하지 않음
- 예시
setDomain(".naver.com"); // 도메인 지정
-> mail.naver.com, www.naver.com, blog.naver.com 등등 모든 naver.com에 쿠키 저장
8) 쿠키의 경로
- 쿠키를 공유할 기준 경로 지정
- 웹 브라우저는 저장한 쿠키의 경로를 확인하고 해당 경로에 맞춰서 쿠키를 전송
- 사용: setPath() 메소드 사용
'프로그래밍 > JSP' 카테고리의 다른 글
[JSP 요약 정리] 12. 표현 언어(Expression Language) (0) | 2019.02.09 |
---|---|
[JSP 요약 정리] 11. 세션(Session) (0) | 2019.02.09 |
[JSP 요약 정리] 9.자바빈과 usbBean 액션 태그 (0) | 2019.02.09 |
[JSP 요약 정리] 8. 페이지 모듈화와 요청 흐름 제어 (0) | 2019.02.09 |
[JSP 요약 정리] 7. 에러 처리(Exception handling) (0) | 2019.02.09 |