JSP 쿠키 사용하기: 생성, 읽기, 삭제 방법

JSP 쿠키 사용하기: 생성, 읽기, 삭제 방법

쿠키(Cookie)는 웹 애플리케이션에서 클라이언트(사용자)의 정보를 브라우저에 저장하여 이후에 재사용할 수 있도록 하는 작은 데이터 파일입니다. 이를 통해 사용자는 로그인 상태를 유지하거나 개인화된 설정을 저장할 수 있습니다. 이 글에서는 JSP를 활용하여 쿠키를 생성, 읽기, 삭제하는 방법과 쿠키의 속성에 대해 자세히 알아봅니다.

1. 쿠키의 주요 속성

쿠키를 설정할 때, 다음과 같은 속성을 정의할 수 있습니다.

  • 이름 (Name): 쿠키의 고유 식별자입니다. 쿠키 이름은 문자열로, 쿠키를 구분하는 데 사용됩니다.
  • 값 (Value): 쿠키에 저장되는 데이터입니다. 값은 문자열로 저장되며, 쿠키의 이름과 함께 브라우저에 저장됩니다.
  • 도메인 (Domain): 쿠키가 적용되는 도메인을 지정합니다. 지정된 도메인에서만 쿠키가 전송되며, 하위 도메인에도 적용할 수 있습니다.
  • 경로 (Path): 쿠키가 적용되는 URL 경로를 지정합니다. 이 경로에 속한 모든 URL에서 쿠키를 사용할 수 있습니다.
  • 유지기간 (Max Age): 쿠키의 유효 기간을 초 단위로 지정합니다. 설정된 시간이 지나면 쿠키는 자동으로 삭제됩니다. 기본값은 세션이 종료될 때까지 유지됩니다.

2. 쿠키 생성하기

JSP에서는 javax.servlet.http.Cookie 클래스를 사용하여 쿠키를 생성할 수 있습니다. 쿠키의 이름과 값을 설정하고, response 객체를 통해 클라이언트에 전송합니다.

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>쿠키 생성 예제</title>
</head>
<body>
<%
    // 쿠키 생성
    Cookie userCookie = new Cookie("username", "BlueShare");
    userCookie.setMaxAge(60 * 60 * 24); // 쿠키의 유효 기간을 하루로 설정
    response.addCookie(userCookie); // 쿠키를 클라이언트에 전송

    response.setContentType("text/html; charset=UTF-8");
%>
<p>쿠키가 생성되었습니다.</p>
</body>
</html>

3. 쿠키 읽기

JSP에서 클라이언트가 보낸 쿠키를 읽기 위해서는 request 객체의 getCookies() 메서드를 사용하여 모든 쿠키를 배열로 받아올 수 있습니다.

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>쿠키 읽기 예제</title>
</head>
<body>
<%
    Cookie[] cookies = request.getCookies();
    String username = "Unknown";

    if (cookies != null) {
        for (Cookie cookie : cookies) {
            if (cookie.getName().equals("username")) {
                username = cookie.getValue();
                break;
            }
        }
    }

    response.setContentType("text/html; charset=UTF-8");
%>
<p>쿠키에서 읽어온 사용자 이름: <%= username %></p>
</body>
</html>
쿠키 생성 후 쿠키 읽기 실행 결과 화면

4. 쿠키 삭제하기

쿠키를 삭제하려면, 동일한 이름으로 쿠키를 생성하되, 유효 기간을 0으로 설정한 후 클라이언트로 전송합니다. 이렇게 하면 브라우저는 해당 쿠키를 삭제합니다.

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>쿠키 삭제 예제</title>
</head>
<body>
<%
    // 쿠키 삭제
    Cookie userCookie = new Cookie("username", "");
    userCookie.setMaxAge(0); // 유효 기간을 0으로 설정
    response.addCookie(userCookie); // 쿠키를 클라이언트에 전송하여 삭제

    response.setContentType("text/html; charset=UTF-8");
%>
<p>쿠키가 삭제되었습니다.</p>
</body>
</html>
쿠키 삭제 후 쿠키 읽기 실행 결과 화면

☞ 이 예제에서는 JSP에서 쿠키를 생성, 읽기, 삭제하는 방법과 쿠키의 주요 속성에 대해 다루었습니다. 이 방법을 통해 사용자의 설정이나 세션 정보를 브라우저에 저장하고, 다시 활용할 수 있습니다.

관련 이전 게시글

위로 스크롤