คุกกี้ใน JSP พร้อมตัวอย่าง
คุกกี้คืออะไร
- คุกกี้คือไฟล์ข้อความที่จัดเก็บไว้ในเครื่องไคลเอนต์
- ใช้เพื่อติดตามข้อมูลเพื่อวัตถุประสงค์ต่างๆ
- รองรับคุกกี้ HTTP โดยใช้เทคโนโลยีเซิร์ฟเล็ต
- คุกกี้ถูกตั้งค่าในส่วนหัว HTTP
- หากเบราว์เซอร์ได้รับการกำหนดค่าให้จัดเก็บคุกกี้ เบราว์เซอร์จะเก็บข้อมูลไว้จนถึงวันหมดอายุ
ประเภทของคุกกี้ใน JSP
- คุกกี้ถาวร: คุกกี้ถาวรจะถูกจัดเก็บบนอุปกรณ์ของคุณเป็นระยะเวลาหนึ่ง ซึ่งช่วยให้เว็บไซต์จดจำการตั้งค่าและรายละเอียดการเข้าสู่ระบบของคุณได้
- คุกกี้ไม่คงอยู่: คุกกี้ที่ไม่คงอยู่จะเป็นเพียงชั่วคราวและจะถูกลบออกเมื่อคุณปิดเบราว์เซอร์ โดยส่วนใหญ่ใช้เพื่อติดตามเซสชัน
วิธีการคุกกี้ JSP
ต่อไปนี้เป็นวิธีการใช้คุกกี้:
-
โมฆะสาธารณะ setDomain (โดเมนสตริง)
คุกกี้ชุด JSP นี้ใช้เพื่อตั้งค่าโดเมนที่จะใช้คุกกี้
-
สตริงสาธารณะgetDomain()
คุกกี้รับ JSP นี้ใช้เพื่อรับโดเมนที่ใช้คุกกี้
-
โมฆะสาธารณะ setMaxAge (int หมดอายุ)
ตั้งเวลาสูงสุดซึ่งควรใช้จนกว่าคุกกี้จะหมดอายุ
-
สาธารณะ intgetMaxAge()
ส่งคืนอายุสูงสุดของคุกกี้ใน JSP
-
สตริงสาธารณะ getName()
มันจะส่งคืนชื่อของคุกกี้
-
setValue โมฆะสาธารณะ (ค่าสตริง)
ตั้งค่าที่เกี่ยวข้องกับคุกกี้
-
สตริงสาธารณะ getValue()
รับค่าที่เกี่ยวข้องกับคุกกี้
-
setPath โมฆะสาธารณะ (เส้นทางสตริง)
ชุดคุกกี้ใน JSP นี้กำหนดเส้นทางที่จะใช้คุกกี้
-
สตริงสาธารณะ getPath()
ได้รับเส้นทางที่คุกกี้ใช้
-
โมฆะสาธารณะ setSecure (ธงบูลีน)
ควรส่งผ่านการเชื่อมต่อที่เข้ารหัสหรือไม่
-
setComment โมฆะสาธารณะ (สตริง cmt)
มันอธิบายวัตถุประสงค์ของคุกกี้
-
สตริงสาธารณะ getComment()
มันจะส่งคืนความคิดเห็นของคุกกี้ที่ได้รับการอธิบายไว้
วิธีจัดการคุกกี้ใน JSP
- การสร้างวัตถุคุกกี้
- การตั้งค่าอายุสูงสุด
- การส่งคุกกี้ในส่วนหัวการตอบกลับ 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()
เอาท์พุต
เมื่อคุณรันโค้ดข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้:
เมื่อเราเรียกใช้ action_cookie.jsp เราจะได้สองฟิลด์คือ username และ email จากนั้นระบบจะรับข้อมูลจากผู้ใช้ จากนั้นเราจะคลิกปุ่มส่ง เราจะได้ผลลัพธ์จาก action_cookie_main.jsp ซึ่งตัวแปรจะถูกเก็บไว้ในคุกกี้ JSP บนฝั่งไคลเอนต์