การลบ cookie ทำได้ 3 ขั้นตอน:
- อ่าน cookie ที่มีอยู่ เก็บในออบเจ็กต์ Cookie
- ตั้งอายุ cookie เป็น 0 ด้วย
setMaxAge(0) - เพิ่ม cookie กลับเข้า response header
ตัวอย่าง: ลบ cookie ชื่อ "first_name"
<html>
<head><title>ลบ Cookies</title></head>
<body>
<center><h1>ลบ Cookies</h1></center>
<%
Cookie[] cookies = request.getCookies();
if (cookies != null) {
out.println("<h2>Cookies ที่พบ</h2>");
for (Cookie cookie : cookies) {
out.print("Name: " + cookie.getName() + ", Value: " + cookie.getValue() + "<br/>");
if ("first_name".equals(cookie.getName())) {
cookie.setMaxAge(0); // ลบ cookie
response.addCookie(cookie);
out.print("<b>ลบ cookie: </b>" + cookie.getName() + "<br/>");
}
}
} else {
out.println("<h2>ไม่พบ cookies</h2>");
}
%>
</body>
</html>
ผลลัพธ์
Cookies ที่พบ Name: first_name, Value: John Name: last_name, Value: Player ลบ cookie: first_name
รันอีกครั้ง จะเหลือแค่ last_name
ลบ Cookies ผ่านเบราว์เซอร์ (Manual)
Internet Explorer: Tools → Internet Options → Delete Cookies
Chrome/Firefox: Settings → Privacy → Clear browsing data → Cookies
จุดสำคัญ
setMaxAge(0)= ลบทันทีsetMaxAge(-1)= session cookie (หายเมื่อปิดเบราว์เซอร์)setMaxAge(seconds)= persistent cookie- ต้อง
response.addCookie()หลัง setMaxAge เพื่อส่งคำสั่งลบไปเบราว์เซอร์