웹프로그래밍/jsp

jsp - 쿠키 사용하기

zelkova 2011. 4. 1. 18:17

<목차로 돌아가기>


 쿠키란?
쿠키는 웹서버와 웹브라우저 양쪽에서 생성할 수 있으며, 웹서버는 웹브라우저가 전송한 쿠키를 사용하여 필요한 데이터를 읽어 올 수 있다.

쿠키 생성 단계 - 쿠키를 사용하기 위해서는 먼저 쿠키를 생성해야 한다. JSP 프로그래밍에서 쿠키는 주로 웹서버 측에서 생성한다. 자바스크립트를 사용해서 클ㅇ라이언트 측에서 쿠키를 생성하기도 한다. 이렇게 생성된 쿠키는 응답 데이터에 함께 저장되어 전송한다.

쿠키 저장 단계 - 웹 브라우저는 응답 데이터에 포함된 쿠키를 쿠키 저장소에 보관한다. 쿠키의 종류에 따라 메모리나 파일로 저장된다.

쿠키 전송 단계 - 웹 브라우저는 한번 저장된 쿠키를 매번 요청이 있을 때마다 웹서버에 전송한다. 웹 서버는 웹 브라우저가 전송항 쿠키를 사용해서 필요한 작업을 수행할 수 있다.

쿠키의 구성
이름- 각각의 쿠키를 구별하는데 사용되는 이름
값 - 쿠키의 이름과 관련된 값
유효 시간 - 쿠키의 유지 시간
도메인 - 쿠키를 전송할 도메인
경로 - 쿠키를 전송할 요청 경로

메소드
 메소드  리턴 타입  설명
 getName()  String  쿠키의 이름을 구한다.
 getValue()  String  쿠키의 값을 구한다
 setValue(String 값)  void  쿠키의 값을 지정한다.
 getDomain()  String  쿠키의 도메인을 구한다.
 setDomain(String 도메인지정)  void  쿠키의 도메인을 지정한다.
 getPath()  String  쿠키의 전송 경로를 구한다.
 setPath(String 주소)  void  쿠키의 전송 경로를 지정한다.
 getMaxAge()  int  쿠키의 유효 시간을 구한다.
 setMaxAge(int 시간)  void  쿠키의 유효시간을 지정한다.
(음수를 입력시 웹브라우저를 닫음과 함게 사라진다.)

쿠키 생성하기
Cookie cookie = new Cookie("cookieName","cookieValue");
response.addCookie(cookie);

예제)
<%@ page contentType="text/html; charset=euc-kr" %>
<%@ page import="java.net.URLEncoder"%>
Cookie cookie = new Cookie("name",URLEncoder.encode("실험용"));
response.addCookie(cookie);


쿠키의 값 읽어오기
Cookie[] cookies = request.getCookies();

예제)
<%=@ page import = "java.net.URLDecoder" %>

<%
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()) %>
<%
}else { out.println("쿠키가 존재하지 않습니다. }%>

쿠키의 도메인 설정
cookie.setDomain("주소");

예제)
Cookie cookie = new Cookie("cookieName","cookieValue");
cookie.setDomain(".naver.com");
response.addCookie(cookie);


쿠키의 경로 설정
cookie.setPath("폴더같은 경로");

예제)
Cookie cookie = new Cookie("cookieName","cookieValue");
cookie.setPath("/exam");
response.addCookie(cookie);


쿠키의 유효시간 설정
cookie.setMaxAge(초 단위의 시간);
예제)
Cookie cookie = new Cookie("cookieName","cookieValue");
cookie.setMaxAge(60*60);
response.addCookie(cookie);


반응형

'웹프로그래밍 > jsp' 카테고리의 다른 글

jsp - 커넥션 풀(conection pool)  (0) 2011.04.18
JSP - 자바빈  (0) 2011.04.13
jsp - 레이아웃 템플릿  (0) 2011.03.25
jsp - jdbc update문 이용하기  (0) 2011.03.23
jsp - jdbc insert문 이용하기  (0) 2011.03.23