บทความนี้จะอธิบายวิธีการนำไปใช้ในการตั้งเวลาหมดอายุของเซสชันใน Java และแบ่งปันกับคุณเพื่อเป็นข้อมูลอ้างอิง วิธีการดำเนินการเฉพาะมีดังนี้:
1. หมดเวลาในตัวอธิบายการใช้งาน (web.xml)
ในไม่กี่นาที
คัดลอกโค้ดดังนี้: <web-app ...>
<เซสชัน-config>
<เซสชั่นหมดเวลา>20</เซสชั่นหมดเวลา>
</เซสชัน-config>
</เว็บแอป>
การตั้งค่าข้างต้นจะมีผลกับเว็บแอปพลิเคชันทั้งหมด เมื่อไคลเอ็นต์ไม่เริ่มต้นคำขอภายใน 20 นาที คอนเทนเนอร์จะฆ่าเซสชัน
2. หมดเวลาด้วย setMaxInactiveInterval()
ระบุเวลาหมดอายุของเซสชันที่ต้องการผ่านการเข้ารหัส หน่วยเป็นวินาที ตัวอย่างเช่น:
คัดลอกรหัสดังต่อไปนี้: HttpSession session = request.getSession();
session.setMaxInactiveInterval(20*60);
การตั้งค่าข้างต้นใช้ได้เฉพาะกับเซสชันที่เรียกใช้เมธอด “setMaxInactiveInterval()” และเซสชันจะถูกปิดโดยคอนเทนเนอร์หากไคลเอ็นต์ไม่ส่งคำขอใดๆ หลังจากผ่านไป 20 นาที
ความคิด….
สิ่งนี้ทำให้เกิดความสับสนเล็กน้อย ค่าใน Descriptor การนำไปใช้งาน (web.xml) อยู่ในหน่วย “นาที” แต่เมธอด setMaxInactiveInterval() ยอมรับค่าในหน่วย “วินาที” ทั้งสองฟังก์ชันควรซิงโครไนซ์ในรีลีสในอนาคต
3. กำหนดไว้ในโปรแกรม มีหน่วยเป็น วินาที ตั้งค่าเป็น -1 ไม่มีวันหมดอายุ รหัสตัวอย่างคือ:
คัดลอกโค้ดดังนี้: session.setMaxInactiveInterval(30*60);
ลำดับความสำคัญสำหรับการตั้งค่าเซสชันเพื่อสร้างเอฟเฟกต์คือ ตั้งโปรแกรมก่อน จากนั้นจึงกำหนดค่า อันดับแรกในเครื่อง จากนั้นโดยรวม
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม Java ของทุกคน