如何在JSP中設定Cookie?


使用JSP設定Cookie包含三個步驟:

步驟1:建立Cookie物件

使用Cookie建構函式,傳入Cookie名稱和Cookie值,兩者都是字串。

Cookie cookie = new Cookie("key","value");

請記住,名稱和值都不應包含空格或以下任何字元:

[ ] ( ) = , " / ? @ : ;

步驟2:設定最大期限

使用**setMaxAge**指定Cookie的有效時間(以秒為單位)。以下程式碼將設定一個有效期為24小時的Cookie。

cookie.setMaxAge(60*60*24);

步驟3:將Cookie傳送到HTTP響應頭

使用**response.addCookie**在HTTP響應頭中新增Cookie,如下所示:

response.addCookie(cookie);

示例

 線上演示

<%
   // Create cookies for first and last names.
   Cookie firstName = new Cookie("first_name", request.getParameter("first_name"));
   Cookie lastName = new Cookie("last_name", request.getParameter("last_name"));

   // Set expiry date after 24 Hrs for both the cookies.
   firstName.setMaxAge(60*60*24);
   lastName.setMaxAge(60*60*24);

   // Add both the cookies in the response header.
   response.addCookie( firstName );
   response.addCookie( lastName );
%>
<html>
   <head>
      <title>Setting Cookies</title>
   </head>
   <body>
      <center>
         <h1>Setting Cookies</h1>
      </center>
      <ul>
         <li><p><b>First Name:</b>
            <%= request.getParameter("first_name")%>
         </p></li>
         <li><p><b>Last Name:</b>
            <%= request.getParameter("last_name")%>
         </p></li>
      </ul>
   </body>
</html>

讓我們將上述程式碼放在**main.jsp**檔案中,並在下面的HTML頁面中使用它:

 線上演示

<html>
   <body>
      <form action = "main.jsp" method = "GET">
         First Name: <input type = "text" name = "first_name">
         <br />
         Last Name: <input type = "text" name = "last_name" />
         <input type = "submit" value = "Submit" />
       </form>
    </body>
</html>

將上述HTML內容儲存在名為**hello.jsp**的檔案中,並將**hello.jsp**和**main.jsp**放在**<Tomcat安裝目錄>/webapps/ROOT**目錄下。當您訪問 **_https://:8080/hello.jsp_**時,以下是上述表單的實際輸出。

輸出

嘗試輸入名字和姓氏,然後單擊提交按鈕。這將在螢幕上顯示名字和姓氏,並設定兩個Cookie:**firstName**和**lastName**。下次單擊提交按鈕時,這些Cookie將被傳回伺服器。

更新於: 2019年7月30日

2K+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告