Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

วิธีลบ Cookies ด้วย JSP

การลบ cookie ทำได้ 3 ขั้นตอน:

  1. อ่าน cookie ที่มีอยู่ เก็บในออบเจ็กต์ Cookie
  2. ตั้งอายุ cookie เป็น 0 ด้วย setMaxAge(0)
  3. เพิ่ม 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 เพื่อส่งคำสั่งลบไปเบราว์เซอร์