Recent Posts
Recent Comments
Link
11-22 00:01
Today
Total
관리 메뉴

삶 가운데 남긴 기록 AACII.TISTORY.COM

쿠키 Cookie 본문

DEV&OPS/Java

쿠키 Cookie

ALEPH.GEM 2022. 6. 14. 14:05

쿠키(Cookie)

클라이언트 단위로 상태정보를 유지해야 할 때 쿠키를 사용합니다.

예를들어 로그인 후 로그아웃 할 때까지 인증 상태를 유지 한다던지, 쇼핑몰 장바구니에 선택한 상품 정보들을 유지 한다던지 같은 유지 정보들을 관리합니다.

쿠키는 텍스트로 name=value 형태로 저장하며 만료 일자나 시간을 지정할 수 있습니다.

 

쿠키 저장(전송)

작업중인 패키지에 클래스 CookieTest.java를 생성합니다.

package net.aacii.test;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/cookie1")
public class CookieTest extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		resp.setContentType("text/html;charset=UTF-8");
		PrintWriter out = resp.getWriter();
		
		Cookie c1 = new Cookie("id","guest");
		c1.setPath("/");
		resp.addCookie(c1);
		
		Cookie c2 = new Cookie("code","0001");
		c2.setMaxAge(60*60*3);	//유효기간 3시간 설정
		c2.setPath("/");
		resp.addCookie(c2);
		
		out.println("쿠키 전송 완료");
		out.close();
	}

}

테스트는 브라우저에서 http://localhost:8080/jsp/cookie1

를 입력하여 테스트 합니다.

 

쿠키 추출

CookieTest2.java 클래스를 생성합니다.

package net.aacii.test;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/cookie2")
public class CookieTest2 extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		resp.setContentType("text/html;charset=UTF-8");
		PrintWriter out = resp.getWriter();
		
		Cookie[] list = req.getCookies();
		for(int i = 0; list!=null && i < list.length; i++) {
			out.println(list[i].getName()+":"+list[i].getValue()+"<br>");
		}
		
		out.close();
	}

}

http://localhost:8080/jsp/cookie1 테스트후 http://localhost:8080/jsp/cookie2  를 테스트 해보면 /cookie1 에서 저장했던 쿠키의 name과 value 값을 가져오는 것을 확인할 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

728x90

'DEV&OPS > Java' 카테고리의 다른 글

세션을 이용한 로그인  (0) 2022.06.14
세션 Session  (0) 2022.06.14
ServletContext  (0) 2022.06.13
서블릿 설정(web.xml)과 변수  (0) 2022.06.10
Method GET POST  (0) 2022.06.10