cookie (쿠키란?)

COOKIE

쿠키

  • 사용자의 시스템에 간단한 정보를 저장해 필요할 때마다 해당전보를 읽어오기 위하여 사용
  • 간단한 정보를 클라이언트에 저장함으로써 서버의 부하를 크게 줄일 수 있음
  • 쿠키의 동작
    • 쿠키 생성 → 쿠키 저장 → 쿠키 전송

쿠키에서 제공하는 메소드

  • getComment() : 쿠키에 설정된 코멘트 리턴
  • getDomainIO : 쿠키 도메인 리턴
  • getMaxAge() : 쿠키 유효시간 리턴
  • getName() : 쿠키 이름 리턴
  • getPath() : 쿠키 전송경로 리턴
  • getSecure() : 지정된 boolean 값 리턴
  • getValue() : 쿠키값 리턴
  • getVersion() : 쿠키버전 리턴
  • setComment(String comment) : 쿠키의 사용 목적을 설명하는 코멘트 설정
  • setDomain(String pattern) : 도메인 설정
  • setMaxage(int expiry) : 쿠키의 유효시간 설정
  • setPath(String url) : 쿠키를 전송한 경로 설정

쿠키 설정 및 읽기

쿠키를 설정하기 위해서는 Cookie 클래스를 이용해야 함

Cookie cookie = new Cookie(String name, String value); // **형식**
Cookie cookie = new Cookie("Job", URLEncoder.encode("학생")); // **예제**

쿠키 값 설정

<%-- 프로그램  : Cookie 설정 프로그램
개발자 : Alex Ryu
개발 시작일 : 2025 4 5
프로그램 Version UpGrade 2025 4월7일
--%>
<%@ page contentType = "text/html; charset=euc-kr" %>
<%@ page import = "java.net.URLEncoder" %>
<%@ page import = "java.net.URLDecoder" %>
<HTML><HEAD> <TITLE> 쿠키 </TITLE>
</HEAD>
<BODY>
<%
Cookie cookie1 = new Cookie("Name", URLEncoder.encode(“류문형"));
Cookie cookie2 = new Cookie("Job", URLEncoder.encode(교수"));
response.addCookie(cookie1);
response.addCookie(cookie2);
out.println(cookie1.getName()+ " 쿠키의  : " + cookie1.getValue() + "<BR>");
out.println(cookie2.getName()+ " 쿠키의  : " + cookie2.getValue() + "<BR><BR>");
String strCookie1 = URLDecoder.decode(cookie1.getValue());
String strCookie2 = URLDecoder.decode(cookie2.get
Value());
out.println(cookie1.getName()+ " 쿠키의  : " + strCookie1 + "<BR>");
out.println(cookie2.getName()+ " 쿠키의  : " + strCookie2);
%>
</BODY>
</HTML>

쿠키 변경 및 삭제

변경을 위해서는 변경하려는 쿠키의 이름에 해당하는 쿠키 값을 변경

변경하려는 쿠키의 이름이 없을 경우 새롭게 쿠키를 생성

<%-- 프로그램  : Cookie 변경 프로그램
개발자 : Alex Ryu
개발 시작일 : 2025 4 12
프로그램 Version UpGrade 2025 4월13일
--%>
<%@ page contentType = "text/html; charset=euc-kr" %>
<%@ page import = "java.net.URLEncoder" %>
<HTML> <HEAD> <TITLE> 쿠키 </TITLE>
</HEAD>
<BODY>
<%
Cookie[] cookies = request.getCookies();
if(cookies != null){
for(int i=0; i<cookies.length; i++){
if(cookies[i].getName().equals("Name")){
Cookie cookie = new Cookie("Name", URLEncoder.encode("김초롱"));
response.addCookie(cookie);
}
}
}
out.println("쿠키값을 변경하였습니다..");
%>
</BODY>
</HTML>

쿠키 도메인 및 경로

setDomain () 메소드 : 사용하는 서버에 쿠키를 보내려고 할 때 사용

cookie.setDomain(String url); // 형식
cookie.setDomain("[www.shop.net](http://www.shop.net/)"); // 예제 

getDomain () 메소드 : 설정한 쿠키 도메인을 리턴하려고 할 때 사용 setPath () 메소드 : 경로 지정


cookie.setPath(String url) // 형식 
cookie.setPath("/"); // 예제 

쿠키 유효 시간 설정

각 쿠키는 유효시간을 가지고 있음

유효시간동안 쿠키가 저장. 설정하지 않고, 웹브라우저를 종료하면 해당쿠키는 삭제된다.

setMaxAge() 메소드 : 쿠키 유효 시간 설정 시 사용 (예 : 60 * 60 (1시간))

cookie.setMaxAge(int expiry) // 형식 
cookie.setMaxAge(60 * 60); // 예제 

쿠키 값 삭제

<%-- 프로그램  : Cookie 삭제 프로그램
개발자 : Alex Ryu
개발 시작일 : 2025 4 2
프로그램 Version UpGrade 2025 4월10일
--%>
<%@ page contentType = "text/html; charset=euc-kr" %>
<%@ page import = "java.net.URLEncoder" %>
<HTML> <HEAD> <TITLE> 쿠키 </TITLE>
</HEAD> <BODY>
<%
Cookie[] cookies = request.getCookies();
if(cookies != null){
for(int i=0; i<cookies.length; i++){
if (cookies[i].getName().equals("Name")){
Cookie cookie = new Cookie("Name", "");
cookie.setMaxAge(0);
response.addCookie(cookie);
}
}
}
out.println("쿠키를 삭제하였습니다..");
%>
</BODY>
</HTML>

Categories:

Updated:

Leave a comment