(JavaWeb)監聽器的使用-session監聽器統計網站在線人數

實現一個監聽器的接口;(有N種)
這裏用seesion監聽器統計網站在線人數演示監聽器使用

1.編寫一個監聽器
實現監聽器的接口

//統計網站在線人數
public class OnlineCountListener implements HttpSessionListener {
    //創建session時觸發
    public void sessionCreated(HttpSessionEvent se) {
        //獲取servlet上下文對象
        ServletContext servletContext = se.getSession().getServletContext();

        Integer onlineCount = (Integer) servletContext.getAttribute("OnlineCount");
        if (onlineCount==null){
            //如果在線人數爲0,則設置在線人數爲1
            onlineCount = new Integer(1);
        }else {
            //在線人數+1
            int count = onlineCount.intValue();
            onlineCount= new Integer(count+1);
        }
        //將在線人數放入servletContext對象中
        servletContext.setAttribute("OnlineCount",onlineCount);

    }
    //銷燬session時觸發
    public void sessionDestroyed(HttpSessionEvent se) {
        //獲取servlet上下文對象
        ServletContext servletContext = se.getSession().getServletContext();

        Integer onlineCount = (Integer) servletContext.getAttribute("OnlineCount");
        if (onlineCount==null){
            //如果在線人數爲0,則設置在線人數爲0
            onlineCount = new Integer(0);
        }else {
            //在線人數-1
            int count = onlineCount.intValue();
            onlineCount= new Integer(count-1);
        }
    }
}

2.web.xml中註冊監聽器

   <!--註冊監聽器-->
    <listener>
        <listener-class>com.zh.servlet.OnlineCountListener</listener-class>
    </listener>

這裏由於QQ瀏覽器自身訪問時會創建一個session所以在線人數爲2
在這裏插入圖片描述
再使用edge訪問
在這裏插入圖片描述
在線人數+1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章