Cookie 객체를 생성하여 그안에 키와 값을 넣는다.
Cookie info = new Cookie("testCookie", "I am First Coolie!");
void setComment(String) 쿠키에 대한 설명을 설정합니다.
void setDomain(String) 쿠키에 유효한 도메인을 설정합니다.
void setMaxAge(int) 쿠키의 유효한 기간을 설정합니다.
void setPath(String) 쿠키의 유효한 디렉토리를 설정합니다.
void setSecure(boolean) 쿠키의 보안을 설정합니다.
void setValue(String) 쿠키의 값을 설정합니다.
void setVersion(int) 쿠키의 버전을 설정합니다.
String getComment() 쿠키에 대한 설명을 알려줍니다.
String getDomain() 쿠키의 유효한 도메인 정보를 알려줍니다.
int getMaxAge() 쿠키의 사용할 수 있는 기간에 대한 정보를 알려줍니다.
String getName() 쿠키의 이름을 알려줍니다.
String getPath() 쿠키의 유효한 디렉토리 정보를 알려줍니다.
boolean getSecure() 쿠키의 보안이 어떻게 설정되어 있는지를 알려줍니다.
String getValue() 쿠키에 설정된 값을 알려줍니다.
int getVersion() 쿠키의 버전을 알려줍니다.
모든 쿠키의 정보를 알아내기
Cookie[] cookies = request.getCookies();
for(Cookie cookie : cookies) {
out.println(cookie.getName() + " : " + cookie.getValue() + "<br>");
}
쿠키를 만료시켜 삭제하는 법
Cookie cookie = new Cookie("id","");
cookie.setMaxAge(0); // 쿠키의 유효시간을 만료시킴
response.addCookie(cookie);
JSESSIONID
// Cookie 생성
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
Date d = new Date();
// 쿠키는 내장객체가 아니므로 객체를 생성해서 사용한다.
// Encoding 해주기
Cookie c = new Cookie("cookieTest", URLEncoder.encode("JSP프로그래밍", "UTF-8"));
// 생성하면서 life cycle을 설정해준다. setMaxAge가 0이면 삭제 됨.
c.setMaxAge(24 * 60 * 60);
// 1년 동안 유효 쿠키
// c.setMaxAge(365 * 24 * 60 * 60);
// 쿠키 생성
response.addCookie(c);
out.println("현재 시간 : " + d);
out.println("<br> 문자열을 cookie에 저장합니다. ");
}
// Cookie 읽기
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
// Cookie는 배열로서 받을 수 있다.
Cookie[] cookies = request.getCookies();
for (Cookie cookie : cookies) {
out.println("<h2>쿠키값 가져오기 </h2><br>");
// Decoding 해주기
out.println(URLDecoder.decode(cookie.getValue(), "UTF-8"));
}
}