วิธีเฉพาะมีดังนี้:
1. รหัส Java <!-ลำดับความสำคัญคือสูงสุด->
request.getSession (). SetMaxInactiveInterval (1800);/*วินาทีคือหน่วย, 1800 = 60*30 นั่นคือ 30 นาที*/
2. web.xml <!-ลำดับความสำคัญคือต่ำสุด->
<session-config> <!-นาทีในหน่วย-> <session-timeout> 30 </session-timeout> </ession-config>
3. เว็บเซิร์ฟเวอร์เรซิน CONF, TOMCAT,
<session-config> <!-นาทีในหน่วย-> <session-timeout> 30 </session-timeout> <enable-url-rewriting> false </enable-url-rewriting> </essess-config>
ลำดับความสำคัญ: 1> 3> 2
เซสชันมักจะไม่ล้มเหลวหลังจากรีสตาร์ท Tomcat หลังจากปิดเบราว์เซอร์เซสชันจะล้มเหลว
ในระบบทั่วไปอาจจำเป็นต้องมีการดำเนินการบางอย่างหลังจากเซสชันล้มเหลว:
(1) ควบคุมจำนวนผู้ใช้ เมื่อเซสชันล้มเหลวจำนวนผู้ใช้ในระบบจะลดลงอย่างใดอย่างหนึ่ง ฯลฯ และควบคุมจำนวนผู้ใช้ภายในช่วงที่กำหนดเพื่อให้แน่ใจว่าประสิทธิภาพของระบบ
(2) ควบคุมผู้ใช้ให้เข้าสู่ระบบหลายครั้ง เมื่อเซสชันถูกต้องหากผู้ใช้เดียวกันเข้าสู่ระบบจะได้รับแจ้งให้เข้าสู่ระบบเมื่อเซสชันหมดอายุคุณสามารถเข้าสู่ระบบได้โดยไม่ต้องแจ้งเตือน
ดังนั้นคุณจะดำเนินการชุดการดำเนินงานได้อย่างไรหลังจากเซสชันล้มเหลว?
ที่นี่คุณต้องใช้ผู้ฟังนั่นคือเมื่อเซสชันล้มเหลวด้วยเหตุผลหลายประการผู้ฟังสามารถฟังได้จากนั้นเรียกใช้โปรแกรมที่กำหนดไว้ในผู้ฟัง
คลาสผู้ฟังคือ: คลาส HttpsessionListener โดยมีสองวิธี: sessionCreated 和sessionDestroyed
คุณสามารถสืบทอดคลาสนี้แล้วนำไปใช้แยกกัน
SessionCreated หมายถึงวิธีการที่ดำเนินการเมื่อสร้างเซสชัน
SessionDestroyed หมายถึงวิธีที่ดำเนินการเมื่อเซสชันล้มเหลว
ดังนี้:
ชั้นเรียนสาธารณะ OnLinelistener ใช้ httpsessionListener {โมฆะสาธารณะเซสชัน croted (เหตุการณ์ httpsessionEvent) {httpsession ses = event.getSession (); string id = ses.getId ()+ses.getCreationTime (); summerconstant.usermap.put (id, boolean.true); // เพิ่มผู้ใช้} โมฆะสาธารณะ sessionDestroyed (เหตุการณ์ httpsessionEvent) {httpsession ses = event.getSession (); string id = ses.getId ()+ses.getCreationTime (); ซิงโครไนซ์ (นี่) {summerconstant.usernum--; // ลดลงตามจำนวนผู้ใช้ SummerConstant.usermap.remove (ID); // ลบออกจากกลุ่มผู้ใช้กลุ่มผู้ใช้คือแผนที่}}}เพียงประกาศผู้ฟังนี้ใน web.xml:
<Sistener> <Sistener-Lass> com.demo.system.listener.onlinelistener </listener-class> </listener>
ข้างต้นเป็นวิธีง่ายๆในการใช้เซสชันเพื่อฟังจำนวนผู้ใช้ ในกระบวนการจริงมันอาจจะซับซ้อนกว่านี้มาก
ตัวอย่างเช่นคุณต้องใช้อินเทอร์เฟซทั้งสองของ ServletContextListener และ HttpsessionListener ในเวลาเดียวกันและเขียนวิธีการของพวกเขาใหม่ ฯลฯ
ข้างต้นคือวิธีการตั้งค่าเวลาการตั้งค่าความล้มเหลวของเซสชัน Javaweb ที่แนะนำโดยตัวแก้ไข ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!