Spring boot通過HttpSessionListener監聽器統計線上人數的實現代碼,

來源:互聯網
上載者:User

Spring boot通過HttpSessionListener監聽器統計線上人數的實現代碼,

首先說下,這個統計線上人數有個缺陷,一個人線上可以同時擁有多個session,導致統計有一定的不準確行。

接下來,開始代碼的編寫,

第一步:實現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); } } 

第二步:控制建立session放入對象

HttpSession session = request.getSession(); session.setAttribute("name", name); Object count = context.getAttribute("count"); if (count==null) { count = 0; } 

第三步:啟動類加上註解@ServletComponentScan,這樣才能掃描到監聽器

說明,此代碼適用於spring-boot開發

簡單說下,javaWeb中配置監聽器在web.xml中加上

<listener>   <listener-class>zjq.listener.SessionListener</listener-class>  </listener>

總結

以上所述是小編給大家介紹的Spring boot通過HttpSessionListener監聽器統計線上人數的實現代碼,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對幫客之家網站的支援!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.