Cookie 설명
쿠키는 서버에서 만든다
자바 영역은 서버 영역
쿠키 생성
Cookie cookie = new Cookie(“name”, “emily”);쿠키이름 :name, 쿠키 값 : emily
쿠키 유효 기간 정하기 (초 단위)
cookie.setMaxAge(-1); 브라우저 종료까지
cookie.setMaxAge(60); 1분(60초),
cookie.setMaxAge(60 * 60); 1시간
cookie.setMaxAge (60 * 60 * 24); // 1일
쿠키 저장 (클라이언트에게 쿠키 보내기)
response.addCookie(cookie);
addCookie-01.jsp
<title>Insert title here</title>
</head>
<body>
<%-- 크롬 > 설정 > 개인 정보 및 보안 > 쿠키 및 기타 사이트 > 모든 쿠키 및 사이트 데이터 보기 > localhost 검색 --%>
<h3>쿠키 확인하기</h3>
<ul>
<li>쿠키이름 : <%=cookie.getName() %></li>
<li>쿠키유효기간 : <%=cookie.getMaxAge() %></li>
<li>쿠기 값 : <%=cookie.getValue() %></li>
</ul>
</body>
</html>
Modified Cookie.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%--
특정 쿠키를 변경하는 방법
1. 서버가 클라이언트의 모든 쿠키를 읽어 들인다.
2. 변경할 쿠키를 찾는다.
3. 같은 이름의 쿠키를 만들어서 덮어쓰기 한다.
--%>
<%
// 1. 전체 쿠키를 읽어 들인다.
Cookie[] cookieList = request.getCookies();
// 2. 변경할 쿠키를 선언해 둔다.
Cookie ck = null;
// 3. 쿠키를 찾는다
if (cookieList != null && cookieList.length != 0) {
for (Cookie cookie : cookieList) {
if (cookie.getName().equals("name")) { // name 속성이 있다면
ck = new Cookie("name", "amanda"); // amanda 로 값을 바꾼다
ck.setMaxAge(60 * 60 * 24);
response.addCookie(ck); // 쿠키 저장
}
}
}
%>
<h3>쿠키 확인하기</h3>
<ul>
<li>쿠키이름 : <%=ck.getName() %></li>
<li>쿠키유효기간 : <%=ck.getMaxAge() %></li>
<li>쿠기 값 : <%=ck.getValue() %></li>
</ul>
</body>
</html>
delete Cookie.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
// 쿠키 삭제
// maxAge가 0인 같은 이름의 쿠키로 덮어쓰기
// 1. 모든 쿠키 읽어 들이기
Cookie[] cookieList = request.getCookies();
// 2. 쿠키가 존재하는지 확인
if (cookieList != null && cookieList.length != 0) {
// 3. 쿠키 순회하기
for (Cookie ck : cookieList) {
if (ck.getName().equals("name")) {
// 4. 덮어쓰기 할 쿠키 생성
Cookie cookie = new Cookie("name", "의미없음");
cookie.setMaxAge(0); // 삭제를 위해 유효기간을 0으로 설정
response.addCookie(cookie);
}
}
}
%>
</body>
</html>