JSP에서 쿠키를 설정하는 과정은 크게 세 단계로 이루어집니다. 각 단계를 예제 코드와 함께 자세히 살펴보겠습니다.
1단계: Cookie 객체 생성
Cookie 생성자에 쿠키 이름과 값을 문자열 형태로 전달하여 객체를 생성합니다.
Cookie cookie = new Cookie("key","value");이때 쿠키의 이름과 값에는 공백이나 다음과 같은 특수 문자를 사용할 수 없으므로 주의해야 합니다.
[ ] ( ) = , " / ? @ : ;
2단계: 쿠키 유효 기간 설정
setMaxAge 메서드를 사용하면 쿠키가 유지될 시간을 초 단위로 지정할 수 있습니다. 아래 코드는 쿠키를 24시간 동안 유효하도록 설정하는 예입니다.
cookie.setMaxAge(60*60*24);
3단계: HTTP 응답 헤더에 쿠키 추가
response.addCookie 메서드를 사용해 생성한 쿠키를 HTTP 응답 헤더에 포함시킵니다. 이렇게 해야 브라우저가 쿠키를 저장하고 이후 요청마다 서버로 전달하게 됩니다.
response.addCookie(cookie);
전체 예제
아래는 사용자의 이름(first_name)과 성(last_name)을 입력받아 각각 쿠키로 저장하는 JSP 예제입니다.
<%
// 이름과 성에 대한 쿠키 생성
Cookie firstName = new Cookie("first_name", request.getParameter("first_name"));
Cookie lastName = new Cookie("last_name", request.getParameter("last_name"));
// 두 쿠키 모두 만료 시간을 24시간으로 설정
firstName.setMaxAge(60*60*24);
lastName.setMaxAge(60*60*24);
// 두 쿠키를 응답 헤더에 추가
response.addCookie( firstName );
response.addCookie( lastName );
%>
<html>
<head>
<title>쿠키 설정하기</title>
</head>
<body>
<center>
<h1>쿠키 설정하기</h1>
</center>
<ul>
<li><p><b>이름:</b>
<%= request.getParameter("first_name")%>
</p></li>
<li><p><b>성:</b>
<%= request.getParameter("last_name")%>
</p></li>
</ul>
</body>
</html>위 코드를 main.jsp 파일로 저장하고, 다음 HTML 페이지에서 이 파일을 호출하도록 구성해 보겠습니다.
<html> <body> <form action = "main.jsp" method = "GET"> 이름: <input type = "text" name = "first_name"> <br /> 성: <input type = "text" name = "last_name" /> <input type = "submit" value = "제출" /> </form> </body> </html>
위 HTML 내용을 hello.jsp 파일로 저장한 뒤, hello.jsp와 main.jsp 두 파일을 모두 <Tomcat 설치 디렉터리>/webapps/ROOT 폴더에 넣습니다. 그다음 브라우저에서 https://localhost:8080/hello.jsp에 접속하면 아래와 같은 입력 화면을 볼 수 있습니다.
실행 결과

이름과 성을 입력한 후 제출 버튼을 클릭해 보세요. 화면에 입력한 값이 표시되는 동시에 firstName과 lastName이라는 두 개의 쿠키가 브라우저에 저장됩니다. 이후 다시 제출 버튼을 클릭하면 저장된 쿠키들이 함께 서버로 전송되며, 필요하다면 request.getCookies() 메서드를 통해 서버 측에서 이 값을 다시 읽어 활용할 수 있습니다.