Spring bootはHttpSession Listenerモニターでオンライン人数の実現コードを統計します。


まず、この統計はオンライン人数に欠陥があります。一人のオンラインは同時に複数のsessionを持つことができます。
次にコードの作成を開始します。
第一歩:HttpSession Listenerの方法を実現し、注釈@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); 
} 
} 
第二ステップ:制御作成セッションをオブジェクトに入れる

HttpSession session = request.getSession(); 
session.setAttribute("name", name); 
Object count = context.getAttribute("count"); 
if (count==null) { 
count = 0; 
} 
第三ステップ:ブートクラスに注釈@Servlet ComponentScanを加えると、モニターにスキャンできます。
このコードはspring-bootの開発に適用されます。
簡単に言えば、java Webではモニターをweb.xmlに配置します。

<listener> 
  <listener-class>zjq.listener.SessionListener</listener-class> 
 </listener>
締め括りをつける
以上は小编でご绍介したSpring bootです。HttpSession Listenerモニターを通じてオンライン人数の実现コードを统计しています。皆様に助けてほしいです。もし何かご质问があれば、メッセージをください。小编はすぐにご返事します。ここでも私たちのサイトを応援してくれてありがとうございます。