java监听器实现在线人数统计
作者:夏木炎
这篇文章主要为大家详细介绍了java监听器实现在线人数统计,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了java在线人数统计的具体代码,供大家参考,具体内容如下
1. 项目结构
2. 代码
package com; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax.servlet.annotation.WebListener; /** * Application Lifecycle Listener implementation class MyContexxtLis * */ @WebListener public class CountListen implements ServletContextListener { /** * Default constructor. */ public CountListen() { // TODO Auto-generated constructor stub } /** * @see ServletContextListener#contextInitialized(ServletContextEvent) */ public void contextInitialized(ServletContextEvent arg0) { arg0.getServletContext().setAttribute("count",100); } /** * @see ServletContextListener#contextDestroyed(ServletContextEvent) */ public void contextDestroyed(ServletContextEvent arg0) { // TODO Auto-generated method stub } }
package com; import javax.servlet.annotation.WebListener; import javax.servlet.http.HttpSessionAttributeListener; import javax.servlet.http.HttpSessionBindingEvent; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; @WebListener public class SessionListen implements HttpSessionListener, HttpSessionAttributeListener { public SessionListen() { // TODO Auto-generated constructor stub } public void attributeRemoved(HttpSessionBindingEvent arg0) { System.out.println("remove"+"\t"+arg0.getName()+arg0.getValue()); } public void attributeAdded(HttpSessionBindingEvent arg0) { System.out.println("add"+"\t"+arg0.getName()+arg0.getValue()); } public void attributeReplaced(HttpSessionBindingEvent arg0) { System.out.println("replace"+"\t"+arg0.getName()+arg0.getValue()); } public void sessionCreated(HttpSessionEvent arg0) { System.out.println("session create"); Integer i=(Integer)arg0.getSession().getServletContext().getAttribute("count"); i++; arg0.getSession().getServletContext().setAttribute("count", i); } public void sessionDestroyed(HttpSessionEvent arg0) { Integer i=(Integer)arg0.getSession().getServletContext().getAttribute("count"); i--; arg0.getSession().getServletContext().setAttribute("count", i); System.out.println("session destroy"+i); } }
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <%session.setMaxInactiveInterval(3); %> 当前在线人数:${count} </body> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。