1.ตั้งค่าคุกกี้
คัดลอกรหัสรหัสดังต่อไปนี้:
คุกกี้ คุกกี้ = คุกกี้ใหม่ ("คีย์", "ค่า");
cookie.setMaxAge(60);
ตั้งค่าอายุการใช้งาน 60 วินาที หากตั้งค่าเป็นค่าลบ จะเป็นคุกกี้กระบวนการของเบราว์เซอร์ (บันทึกไว้ในหน่วยความจำ) ซึ่งจะไม่ถูกต้องเมื่อปิดเบราว์เซอร์
คัดลอกรหัสรหัสดังต่อไปนี้:
cookie.setPath("/test/test2");
ตั้งค่าเส้นทางคุกกี้ หากไม่ได้ตั้งค่า มันจะเป็นเส้นทางปัจจุบัน (สำหรับ Servlet คือ request.getContextPath() + ส่วนเส้นทางรูปแบบ url ของ Servlet ที่กำหนดค่าใน web.xml)
คัดลอกรหัสรหัสดังต่อไปนี้:
response.addCookie(คุกกี้);
2. อ่านคุกกี้
วิธีนี้สามารถอ่านออบเจ็กต์คุกกี้ทั้งหมดของเส้นทางปัจจุบันและ "เส้นทางพาเรนต์โดยตรง" หากไม่มีคุกกี้ก็จะส่งคืนค่าว่าง
คัดลอกรหัสรหัสดังต่อไปนี้:
คุกกี้[] คุกกี้ = request.getCookies();
3.ลบคุกกี้
คัดลอกรหัสรหัสดังต่อไปนี้:
คุกกี้ คุกกี้ = คุกกี้ใหม่ ("คีย์", null);
cookie.setMaxAge(0);
ตั้งค่าเป็น 0 เพื่อลบคุกกี้ทันที
คัดลอกรหัสรหัสดังต่อไปนี้:
cookie.setPath("/test/test2");
ลบคุกกี้บนเส้นทางที่ระบุ หากไม่ได้ตั้งค่าเส้นทาง ค่าเริ่มต้นคือการลบคุกกี้บนเส้นทางปัจจุบัน
คัดลอกรหัสรหัสดังต่อไปนี้:
response.addCookie (คุกกี้);
4. หมายเหตุ: สมมติว่าโครงสร้างเส้นทางเป็นดังนี้
คัดลอกรหัสรหัสดังต่อไปนี้:
ทดสอบ/test2/test345/test555/test666
ก. คุกกี้ที่มีชื่อคีย์เดียวกัน (ค่าสามารถเหมือนกันหรือต่างกันได้) สามารถมีอยู่ในเส้นทางที่ต่างกันได้
ข. เมื่อลบ หากไม่มีคุกกี้ที่มีคีย์ "คีย์" อยู่ใต้เส้นทางปัจจุบัน เส้นทางหลักทั้งหมดจะถูกสอบถาม และการดำเนินการลบจะดำเนินการหลังจากการดึงข้อมูล (สามารถลบคุกกี้เส้นทางหลักเพียงเส้นทางเดียวที่ใกล้เคียงที่สุดได้ที่ ครั้ง)
FF คุณต้องระบุเส้นทางเดียวกับที่ใช้ในการตั้งค่าคุกกี้เพื่อลบคุกกี้ และต้องระบุเส้นทางสำหรับชื่อคีย์คุกกี้โดยไม่คำนึงถึงขนาดตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก หรือขนาดผสม
IE เมื่อชื่อคีย์เป็นตัวพิมพ์เล็ก หากเส้นทางปัจจุบันคือ /test/test2 หากไม่พบ ให้สอบถาม /test, /test555, /test345 และหากยังไม่พบ ให้สอบถาม / (/test555/test666 ไม่ถูกสอบถาม)
เมื่อชื่อคีย์เป็นตัวพิมพ์ผสมหรือตัวพิมพ์ใหญ่ หากไม่ได้ระบุเส้นทาง เส้นทางปัจจุบันจะถูกลบตามค่าเริ่มต้น และจะไม่ดำเนินการค้นหาแบบข้างบน
ค. เมื่ออ่านคุกกี้ จะสามารถอ่านได้เฉพาะคุกกี้ของเส้นทางหลักเท่านั้น
หากเส้นทางปัจจุบันคือ /test/test2 คีย์ที่จะอ่านคือ "คีย์" หลังจากที่อ่านเส้นทางปัจจุบันแล้ว /test จะต้องถูกอ่านด้วย และหลังจาก /test ถูกอ่านแล้ว / จะต้องถูกอ่านด้วย
d. เมื่อทำงานบนเว็บโปรเจ็กต์ Java เนื่องจากเว็บเซิร์ฟเวอร์ทั่วไป (เช่น Tomcat หรือ Jetty) ใช้ Context เพื่อจัดการ WebApplications ที่แตกต่างกัน แต่ละ Context จึงมีพาธที่แตกต่างกัน
โปรดใช้ความระมัดระวังเป็นพิเศษเมื่อมี WebApplication หลายตัวในเซิร์ฟเวอร์ อย่าตั้งค่าคุกกี้ด้วยเส้นทางของ / เนื่องจากอาจทำให้เกิดการทำงานผิดพลาดได้ (แน่นอน หลักฐานก็คือชื่อโดเมนเหมือนกัน)