프로그래밍/JSP

쿠키(cookie)

하와이블루 2022. 11. 18. 16:18
728x90

 

 

쿠키는 웹 서버에서 사용자 정보를 클라이언트로 보내 클라이언트에 저장되는 데이터를 의미한다. 필요시에 웹서버는 데이터를 요청할 수 있다.

 

형태는 문자열(텍스트)로 저장되고 저장 장소가 클라이언트이기 때문에 웹 서버의 부하를 줄일 수 있으며 웹브라우저 재방문간 클라이언트의 방문 흔적이 남아 로그인 유지를 할 수 있는 등 장점이 있지만 그에 반해 보안상 위험도 동반된다.

 

 

 

 

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>

 

 

 

 

 

728x90