Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

JSP에서 쿠키를 읽는 방법 – getCookies() 메서드 활용 예제


JSP에서 쿠키를 읽으려면 먼저 HttpServletRequest 객체의 getCookies() 메서드를 호출하여 javax.servlet.http.Cookie 객체 배열을 만들어야 합니다. 그다음 반복문으로 이 배열을 순회하면서 각 쿠키에 대해 getName()getValue() 메서드를 호출하면 쿠키 이름과 대응하는 값을 손쉽게 확인할 수 있습니다.

쿠키 읽기 예제

앞선 예제에서 설정했던 쿠키를 실제로 읽어보겠습니다. 아래 코드를 main.jsp 파일로 저장한 후 웹 브라우저에서 접속해 보세요.

<html>
   <head>
      <title>Reading Cookies</title>
   </head>
   <body>
      <center>
         <h1>Reading Cookies</h1>
      </center>
      <%
         Cookie cookie = null;
         Cookie[] cookies = null;

         // 이 도메인과 관련된 쿠키 배열을 가져옵니다
         cookies = request.getCookies();

         if( cookies != null ) {
            out.println("<h2> Found Cookies Name and Value</h2>");
            for (int i = 0; i < cookies.length; i++) {
               cookie = cookies[i];
               out.print("Name : " + cookie.getName( ) + ", ");
               out.print("Value: " + cookie.getValue( )+" <br/>");
            }
         } else {
            out.println("<h2>No cookies founds</h2>");
         }
      %>
   </body>
</html>

코드 동작 방식

  • request.getCookies() : 현재 요청이 속한 도메인과 관련된 모든 쿠키를 Cookie 배열 형태로 반환합니다. 저장된 쿠키가 없으면 null을 반환합니다.
  • null 검사 : 쿠키가 하나도 없는 경우를 대비해 반드시 null 여부를 먼저 확인해야 합니다. 이 과정을 생략하면 NullPointerException이 발생할 수 있습니다.
  • getName() / getValue() : for 문으로 배열을 순회하면서 각 쿠키의 이름과 값을 차례대로 추출하고 화면에 출력합니다.

실행 결과

first_name 쿠키를 "John"으로, last_name 쿠키를 "Player"로 미리 설정해 둔 상태에서 https://localhost:8080/main.jsp에 접속하면 다음과 같은 결과가 화면에 출력됩니다.

Found Cookies Name and Value
Name : first_name, Value: John
Name : last_name, Value: Player