web專案統計線上人數
阿新 • • 發佈:2019-01-29
1、定義一個監聽器,實現HttpSessionBindingListener介面(MySessionListener.java)
package com.ilfy.lbjn.listener; import javax.servlet.http.HttpSessionBindingEvent; import javax.servlet.http.HttpSessionBindingListener; /** * 統計線上人數 <br\> * 定義一個監聽器,實現HttpSessionBindingListener介面 */ public class MySessionListener implements HttpSessionBindingListener { public static int num; @Override public void valueBound(HttpSessionBindingEvent event) { // event.getSession().getAttribute("mListener"); num++; System.out.println("當前線上人數:" + num); } @Override public void valueUnbound(HttpSessionBindingEvent event) { num--; System.out.println("當前線上人數:" + num); } }
2、在使用者成功登入系統後,new出MySessionListener監聽器,並將其物件存到session中
//在使用者成功登入系統後,new出MySessionListener監聽器,並將其物件存到session中
HttpSession session = req.getSession();
MySessionListener mListener = new MySessionListener();
session.setAttribute("mListener", mListener);
3、在web.xml中配置session 監聽器
<!-- 配置MySessionListener --> <listener> <listener-class>com.ilfy.lbjn.listener.MySessionListener</listener-class> </listener>