คุกกี้ใน JSP พร้อมตัวอย่าง

คุกกี้คืออะไร

  • คุกกี้คือไฟล์ข้อความที่จัดเก็บไว้ในเครื่องไคลเอนต์
  • ใช้เพื่อติดตามข้อมูลเพื่อวัตถุประสงค์ต่างๆ
  • รองรับคุกกี้ HTTP โดยใช้เทคโนโลยีเซิร์ฟเล็ต
  • คุกกี้ถูกตั้งค่าในส่วนหัว HTTP
  • หากเบราว์เซอร์ได้รับการกำหนดค่าให้จัดเก็บคุกกี้ เบราว์เซอร์จะเก็บข้อมูลไว้จนถึงวันหมดอายุ

ประเภทของคุกกี้ใน JSP

  1. คุกกี้ถาวร: คุกกี้ถาวรจะถูกจัดเก็บบนอุปกรณ์ของคุณเป็นระยะเวลาหนึ่ง ซึ่งช่วยให้เว็บไซต์จดจำการตั้งค่าและรายละเอียดการเข้าสู่ระบบของคุณได้
  2. คุกกี้ไม่คงอยู่: คุกกี้ที่ไม่คงอยู่จะเป็นเพียงชั่วคราวและจะถูกลบออกเมื่อคุณปิดเบราว์เซอร์ โดยส่วนใหญ่ใช้เพื่อติดตามเซสชัน

วิธีการคุกกี้ JSP

ต่อไปนี้เป็นวิธีการใช้คุกกี้:

  • โมฆะสาธารณะ setDomain (โดเมนสตริง)

    คุกกี้ชุด JSP นี้ใช้เพื่อตั้งค่าโดเมนที่จะใช้คุกกี้

  • สตริงสาธารณะgetDomain()

    คุกกี้รับ JSP นี้ใช้เพื่อรับโดเมนที่ใช้คุกกี้

  • โมฆะสาธารณะ setMaxAge (int หมดอายุ)

    ตั้งเวลาสูงสุดซึ่งควรใช้จนกว่าคุกกี้จะหมดอายุ

  • สาธารณะ intgetMaxAge()

    ส่งคืนอายุสูงสุดของคุกกี้ใน JSP

  • สตริงสาธารณะ getName()

    มันจะส่งคืนชื่อของคุกกี้

  • setValue โมฆะสาธารณะ (ค่าสตริง)

    ตั้งค่าที่เกี่ยวข้องกับคุกกี้

  • สตริงสาธารณะ getValue()

    รับค่าที่เกี่ยวข้องกับคุกกี้

  • setPath โมฆะสาธารณะ (เส้นทางสตริง)

    ชุดคุกกี้ใน JSP นี้กำหนดเส้นทางที่จะใช้คุกกี้

  • สตริงสาธารณะ getPath()

    ได้รับเส้นทางที่คุกกี้ใช้

  • โมฆะสาธารณะ setSecure (ธงบูลีน)

    ควรส่งผ่านการเชื่อมต่อที่เข้ารหัสหรือไม่

  • setComment โมฆะสาธารณะ (สตริง cmt)

    มันอธิบายวัตถุประสงค์ของคุกกี้

  • สตริงสาธารณะ getComment()

    มันจะส่งคืนความคิดเห็นของคุกกี้ที่ได้รับการอธิบายไว้

วิธีจัดการคุกกี้ใน JSP

  1. การสร้างวัตถุคุกกี้
  2. การตั้งค่าอายุสูงสุด
  3. การส่งคุกกี้ในส่วนหัวการตอบกลับ HTTP

ตัวอย่าง

ในตัวอย่างคุกกี้ JSP นี้ เราจะเรียนรู้วิธีเรียกใช้ตัวสร้างคุกกี้ใน JSP โดยการสร้างคุกกี้ของชื่อผู้ใช้และอีเมล และเพิ่มอายุให้กับคุกกี้เป็นเวลา 10 ชั่วโมง และพยายามรับชื่อตัวแปรใน action_cookie.jsp

Action_cookie.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Cookie</title>
</head>
<body>
<form action="action_cookie_main.jsp" method="GET">
Username: <input type="text" name="username">
<br />
Email: <input type="text" name="email" />
<input type="submit" value="Submit" />
</form>
</body>
</html>

Action_cookie_main.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
         
   Cookie username = new Cookie("username",
 			  request.getParameter("username"));
   Cookie email = new Cookie("email",
			  request.getParameter("email"));

   
   username.setMaxAge(60*60*10); 
   email.setMaxAge(60*60*10); 

   // Add both the cookies in the response header.
   response.addCookie( username );
   response.addCookie( email );
%>


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Cookie JSP</title>
</head>
<body>

<b>Username:</b>
   <%= request.getParameter("username")%>
<b>Email:</b>
   <%= request.getParameter("email")%>

</body>
</html>

คำอธิบายของรหัส

Action_cookie.jsp

รหัสบรรทัด 10-15: เรากำลังใช้แบบฟอร์มที่ต้องประมวลผลใน action_cookie_main.jsp นอกจากนี้ เรายังใช้ฟิลด์สองฟิลด์ คือ “ชื่อผู้ใช้” และ “อีเมล” ซึ่งต้องรับอินพุตจากผู้ใช้ด้วยปุ่มส่ง

Action_cookie_main.jsp

รหัสบรรทัด 6-9: การสร้างคุกกี้อ็อบเจ็กต์สองรายการคือ “ชื่อผู้ใช้” และ “อีเมล” โดยใช้ request.getParameter

รหัสบรรทัด 12-13: ที่นี่เรากำลังเพิ่มอายุให้กับคุกกี้ทั้งสองตัวที่ถูกสร้างขึ้นมาเป็นเวลา 10 ชั่วโมง นั่นคือคุกกี้จะหมดอายุเมื่อถึงอายุดังกล่าว

รหัสบรรทัด 16-17: การเพิ่มคุกกี้ลงในเซสชันของชื่อผู้ใช้และอีเมล และคุกกี้ทั้งสองนี้สามารถดึงมาได้เมื่อมีการร้องขอโดย getParameter()

เอาท์พุต

เมื่อคุณรันโค้ดข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้:

วิธีการคุกกี้ JSP

วิธีการคุกกี้ JSP

เมื่อเราเรียกใช้ action_cookie.jsp เราจะได้สองฟิลด์คือ username และ email จากนั้นระบบจะรับข้อมูลจากผู้ใช้ จากนั้นเราจะคลิกปุ่มส่ง เราจะได้ผลลัพธ์จาก action_cookie_main.jsp ซึ่งตัวแปรจะถูกเก็บไว้ในคุกกี้ JSP บนฝั่งไคลเอนต์