JSP

쿠키 사용하기 02_쿠키 값 읽어오기

yayeun 2016. 6. 2. 14:32
쿠키값 읽어오기

웹 브라우저는 요청 헤더에 쿠키를 저장해서 보내며 getCookie() 메서드를 사용해 쿠키값을 읽어 올 수 있다.

 Cookie[] cookie = request.getCookie();

- request.getCookie() 메서드는 Cookie 배열을 리턴하며, 읽어올 쿠키가 존재하지 않을 경우 null 을 리턴한다.



< -- viewCookie.jsp : 쿠키값 읽어오기 -- >

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<%@page import="java.net.URLDecoder"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
쿠키 목록<br>
<%
    Cookie[] cookies = request.getCookies();
    if(cookies != null && cookies.length > 0){
        for(int i = 0; i< cookies.length; i++){
%>
    <%=cookies[i].getName() %> = 
    <%=URLDecoder.decode(cookies[i].getValue(), "utf-8"%><br>
<%
        }
    }else{
%>
쿠키가 존재하지 않습니다.
<%        
    }
%>
</body>
</html>
cs

 라인 : 13번-14번 

 쿠키 배열을 구한다. 쿠키가 없을 경우 null 리턴

 라인 : 18번

 인코딩 해서 값을 저장했으므로, 디코딩해서 값을 읽어온다. 

- null 여부를 확인하지 않고 존재하지 않는 쿠키를 사용할 경우 NullPointException 오류가 발생할 수 있으므로, 쿠키를 사용할 때에는 항상 null 여부를 확인(라인 : 14번)해야 한다.



< -- viewCookie.jsp : 출력화면 -- >


- makeCookie.jsp 를 실행하면 쿠키가 생성되고, 그 이후에 웹 브라우저를 닫지 않고 viewCookies.jsp 를 실행하면 생성한 쿠키를 읽어올 수 있다.