'programming'에 해당되는 글 387건

  1. 2014.04.07 쿠키(Cookie)

반응형

 

 

 

쿠키(Cookie)

 1) 쿠키의 개요

 - 클라이언트 측에서 관리되는 정보. 쿠키는 하드 디스크에 파일로 저장되기 때문에 브라우저를 종료한다고 해서 데이터가 사라지지 않고 그 파일이 남아 있는 한 쿠키는 항상 유지된다.

쿠키는 클라이언트에서만 사용될 데이터를 보관하고 그 데이터는 보안적으로 문제를 일으키지 않는 데이터여야 한다.

2) HTTP 헤더를 이용한 쿠키 설정

  Set-Cookie: name=value; expires=date; domain=domain; path=path; secure

 

속성

설명

name

쿠키 값을 설정한다.

value

쿠키 값을 지정한다.

expires

쿠키의 만료 기간을 지정한다.

domain

저장된 쿠키를 서버에서 전송할 때의 도메인을 지정한다.

path

쿠키가 전송될 서버의 URL 지정하고, 유효한 URL일 경우 전송한다.

secure

이 속성을 추가하면 보안적인 채널(SSL )로 전송되어야 한다.

 

3) 서블린 API를 이용한 쿠키 설정

 먼저 서블릿 API로 쿠키를 사용하기 위해서는 객체를 생성하여야 한다.

 Cookie cookie = new Cookie(name,value);

 위에처럼 쿠키 객체를 생성할 경우 바로 쿠키의 이름과  값을  입력 할 수 있다. 하지만 생성하면서 값을 입력하였다고 쿠키가 메모리 또는 하드디스크에 저장되는 것이 아니다. 쿠키를 생성하였으면 생성한 쿠키를 클라이언트로 전송을 해주어야 한다.

 response.addCookie(cookie)

 

속성

설명

setValue(String value)

쿠키 이름을 지정한다.

setMaxAge(int seconds)

쿠키 만료 기간을 지정한다.

getValue()

쿠키 값을 얻어온다.

getMaxAge()

쿠키 만료 기간을 얻어온다.

getName()

쿠키 이름을 얻어온다.

 

 [예제 7-2] cookieTest.jsp

 <%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%
 Cookie cookie = new Cookie("name","honkildong"); //
쿠키 객체를 생성함과 동시에 쿠키 이름과 값을 설정한다.
 cookie.setMaxAge(600);        //
쿠키 유효시간을 10분으로 설정한다
.
 response.addCookie(cookie);       //
생성한 쿠키를 클라이언트로 전송한다
.
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Cookie Test</title>
</head>
<body>
<h2><%=cookie.getName() %></h2>
<h2><%=cookie.getValue() %></h2>
<h2><%=cookie.getMaxAge() %></h2>
<a href="cookieTest2.jsp">
쿠키값 불러오기
</a>
</body>
</html>

 

 [예제 7-2] cookieTest2.jsp

 <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>

<%
 String name = "";
 String value="";
 String cookie = request.getHeader("Cookie"); //
쿠키가 생성되어 있는지 확인하기 위해 헤더를 확인한다.
 if(cookie!=null){
  Cookie [] cookies  = request.getCookies(); //
쿠키 값들을 배열로 가져온다
.
  
  for(int i=0; i<cookies.length;i++){   //
원하는 쿠키 값을 검색하기 위해 처음 배열부터 검색하며
,
   if(cookies[i].getName().equals("name")){//
쿠키 이름이 찾는 이름과 일치하는지 확인한다
.
    name= cookies[i].getName();   //
검색 되었을 때는 그 값을 얻어서 변수에 대입한다
.
    value = cookies[i].getValue();
   }
   
  }
 }
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h2>
쿠키 이름
=<%=name %></h2>
<h2>
쿠키 값=<%=value %></h2>

</body>
</html>

 

반응형
Posted by 공간사랑
,