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

วิธีลบข้อมูล Session ใน JSP

เมื่อต้องการลบข้อมูล session มีหลายวิธี:

1. ลบ attribute เฉพาะตัว

session.removeAttribute("attributeName");

2. ลบ session ทั้งหมด (invalidate)

session.invalidate();

ล้างทุก attributes และทำให้ session ไม่ใช้งานได้

3. ตั้งค่า Session Timeout แบบต่อ session

session.setMaxInactiveInterval(1800);  // 30 นาที (วินาที)

4. Logout (Servlet 2.4+)

request.logout();  // logout user และ invalidate ทุก sessions ของ user นั้น

5. ตั้งค่าใน web.xml (Global)

<session-config>
    <session-timeout>15</session-timeout>  <!-- นาที -->
</session-config>

ค่าเริ่มต้น Tomcat = 30 นาที การตั้งใน web.xml จะ override default

เมธอดตรวจสอบ

  • session.getMaxInactiveInterval() - คืน timeout เป็นวินาที (เช่น 15 นาที = 900)
  • session.isNew() - ตรวจสอบว่า session ใหม่หรือเก่า

แนวทางเลือกใช้

สถานการณ์วิธีที่แนะนำ
ลบข้อมูลเฉพาะอย่าง (เช่น shopping cart)removeAttribute()
User logoutinvalidate() หรือ logout()
ปรับ timeout ผู้ใช้รายบุคคลsetMaxInactiveInterval()
ตั้งค่ามาตรฐานทั้งแอปweb.xml session-timeout