1 분 소요

쿠키(cookie)


쿠키(cookie)

쿠키는 웹 서버가 사용자 정보를 클라이언트에 보내 저장되는 데이터를 의미하여 필요시에 데이터를 요청할 수 있다. 형태는 문자열(텍스트)로 저장되어 저장 장소가 클라이언트이기 때문에 서버의 부하를 줄일 수 있고 웹브라우저 재방문간 방문의 흔적이 남아 로그인 유지 등장점이 있지만 그에 반해 보안상 위험도 동반된다.


JSP 쿠키 생성

Cookie 객체명 = new Cookie("키", "값"); // 쿠키 객체 생성
객체명.setMaxAge() // 쿠키 유지 시간을 설정
response.addCookie(객체명); // response를 통해 쿠키 보내기

키와 값의 형태로 쿠키 객체를 생성하고 쿠키 유지시간을 정하고 쿠키 응답이 발생한 곳이 있다면 그곳으로 보내게 된다.

쿠키 받는 페이지에서는

Cookie[] 배열명 = request.getCookie(); // requset를 통해 쿠키 받기

requset를 통해 쿠키를 받을 수 있다.


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	Cookie cookie1 = new Cookie("food", "pizza");
	Cookie cookie2 = new Cookie("beverage", "coke");
	
	cookie1.setMaxAge(60);
	cookie2.setMaxAge(60);
	
	response.addCookie(cookie1);
	response.addCookie(cookie2);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>cookie</title>
</head>
<body>
	<h2>쿠키</h2>
	<p>쿠키가 정상적으로 설정되었습니다.</p>
</body>
</html>

위 웹 페이지에서 쿠키를 생성해주면 전체 웹 브라우저에 쿠키가 저장되고 그 정보는 아래 웹 페이지에서 읽어 들일 수 있게된다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	Cookie[] cookies = request.getCookies();
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>쿠키 읽어오기</title>
</head>
<body>
	<h2>쿠키 읽어오기</h2>
	<%
		for(Cookie cookie : cookies	){
			if("food".equals(cookie.getName())){
				out.println(cookie.getName() + " : " + cookie.getValue() + "<br>");
			}
			if("beverage".equals(cookie.getName())){
				out.println(cookie.getName() + " : " + cookie.getValue() + "<br>");
			}
		}
	%>
</body>
</html>

jsp3_1

그리고 F12키를 눌러 Application에 cookie를 살펴보면 쿠키가 만들어진것을 볼 수 있다.

jsp3_2

그리고 설정된 시간이 흐르면 쿠키를 사라지게된다.

jsp3_3

태그:

카테고리:

업데이트: