JSP day3
쿠키(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>
그리고 F12키를 눌러 Application에 cookie를 살펴보면 쿠키가 만들어진것을 볼 수 있다.
그리고 설정된 시간이 흐르면 쿠키를 사라지게된다.