ก่อนอื่นสถิตินี้มีข้อบกพร่องในจำนวนคนออนไลน์ บุคคลหนึ่งสามารถมีหลายเซสชันในเวลาเดียวกันส่งผลให้สถิติไม่ถูกต้องบางอย่าง
ถัดไปเริ่มเขียนรหัส
ขั้นตอนที่ 1: ใช้วิธีการใน httpsessionListener เพิ่มคำอธิบายประกอบ @WebListener
@WebListener ชั้นเรียนสาธารณะ SessionListener ใช้ httpsessionListener {โมฆะสาธารณะ sessionCreated (httpsessionEvent arg0) {// วิธีการที่สร้างอัตโนมัติแบบอัตโนมัติ stub servletContext บริบท = arg0.getSession () if (context.getAttribute ("count") == null) {context.setAttribute ("count", 0); } else {int count = (จำนวนเต็ม) context.getAttribute ("count"); context.setAttribute ("นับ" นับ+1); }} โมฆะสาธารณะ sessionDestroyed (httpsessionEvent arg0) {// todo วิธีการที่สร้างอัตโนมัติ stub servletContext บริบท = arg0.getSession (). getServletContext (); if (context.getAttribute ("count") == null) {context.setAttribute ("count", 0); } else {int count = (จำนวนเต็ม) context.getAttribute ("count"); if (นับ <1) {count = 1; } context.setAttribute ("count", count-1); } httpsession session = arg0.getSession (); string name = (string) session.getAttribute ("ชื่อ"); HashSet <String> nameset = (hashset <string>) context.getAttribute ("nameset"); nameset.remove (ชื่อ); -ขั้นตอนที่ 2: ควบคุมการสร้างเซสชันและใส่ลงในวัตถุ
httpsession session = request.getSession (); session.setAttribute ("ชื่อ", ชื่อ); จำนวนวัตถุ = context.getAttribute ("count"); if (count == null) {count = 0; -ขั้นตอนที่ 3: เริ่มชั้นเรียนด้วยคำอธิบายประกอบ @ServletComponentScan เพื่อให้คุณสามารถสแกนกับผู้ฟังได้
หมายเหตุรหัสนี้เหมาะสำหรับการพัฒนาฤดูใบไม้ผลิ
พูดง่ายๆเพิ่มผู้ฟังใน javaweb ไปยัง web.xml
<Sistener> <Sistener-Lass> ZJQ.Listener.sessionListener </Listener-Class> </Listener>
สรุป
ข้างต้นคือรหัสการใช้งานสำหรับสปริงบูตเพื่อนับจำนวนผู้ใช้ออนไลน์ผ่านการตรวจสอบ HTTPSESSIONLISTENER ที่ตัวแก้ไขแนะนำให้คุณ ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!