首先說下,這個統(tǒng)計在線人數(shù)有個缺陷,一個人在線可以同時擁有多個session,導致統(tǒng)計有一定的不準確行。
創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計與策劃設(shè)計,中山網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:中山等地區(qū)。中山做網(wǎng)站價格咨詢:18982081108
接下來,開始代碼的編寫,
第一步:實現(xiàn)HttpSessionListener中的方法,加上注解@WebListener
@WebListener public class SessionListener implements HttpSessionListener{ public void sessionCreated(HttpSessionEvent arg0) { // TODO Auto-generated method stub ServletContext context = arg0.getSession().getServletContext(); if (context.getAttribute("count")==null) { context.setAttribute("count", 0); }else { int count = (Integer) context.getAttribute("count"); context.setAttribute("count", count+1); } } public void sessionDestroyed(HttpSessionEvent arg0) { // TODO Auto-generated method stub ServletContext context = arg0.getSession().getServletContext(); if (context.getAttribute("count")==null) { context.setAttribute("count", 0); }else { int count = (Integer) context.getAttribute("count"); if (count<1) { count = 1; } context.setAttribute("count", count-1); } HttpSession session = arg0.getSession(); String name = (String) session.getAttribute("name"); HashSet<String> nameSet = (HashSet<String>) context.getAttribute("nameSet"); nameSet.remove(name); } }
第二步:控制創(chuàng)建session放入對象
HttpSession session = request.getSession(); session.setAttribute("name", name); Object count = context.getAttribute("count"); if (count==null) { count = 0; }
第三步:啟動類加上注解@ServletComponentScan,這樣才能掃描到監(jiān)聽器
說明,此代碼適用于spring-boot開發(fā)
簡單說下,javaWeb中配置監(jiān)聽器在web.xml中加上
<listener> <listener-class>zjq.listener.SessionListener</listener-class> </listener>
總結(jié)
以上所述是小編給大家介紹的Spring boot通過HttpSessionListener監(jiān)聽器統(tǒng)計在線人數(shù)的實現(xiàn)代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對創(chuàng)新互聯(lián)網(wǎng)站的支持!
當前名稱:Springboot通過HttpSessionListener監(jiān)聽器統(tǒng)計在線人數(shù)的實現(xiàn)代碼
本文地址:http://www.chinadenli.net/article28/ieodcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、域名注冊、營銷型網(wǎng)站建設(shè)、虛擬主機、網(wǎng)站策劃、移動網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)