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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java使用监听器实现一个统计网站在线人数的示例

    本文主要介绍了java使用监听器实现一个统计网站在线人数的示例,具有一定的参考价值,有需要的朋友可以了解一下. (1)创建一个监听器实现类 要大致统计一个网站的在线人数,首先,可以通过ServletContextListener监听,当Web应用上下文启动时,在ServletContext中添加一个List,用来准备存放在线的用户名:然后,可以通过HttpSessionAttributeListener监听,当用户登录成功把用户名设置到Session中时同时将用户名存放到ServletConte

  • java web监听器统计在线用户及人数

    在线用户使用HttpSessionListener监听器统计  每当一个session会话建立  在线用户人数+1 每当一个session会话销毁 在线用户人数-1 使用ServletRequestListener监听器统计用户信息 每当一个request建立  将当前用户放入集合 每当session会话销毁  将当前用户移出集合 我使用的是Servlet3.0  监听器直接使用注解@webListener即可 不用在web.xml中布局 在web.xml中配置session-timeout标签

  • 利用java监听器实现在线人数统计

    1.在工程中创建监听类SessionListener 并且实现HttpSessionListener接口,代码如下 import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; public class SessionListener implements HttpSessionListener { private static int count = 0; public vo

  • java监听器实现在线人数统计

    本文实例为大家分享了java在线人数统计的具体代码,供大家参考,具体内容如下 1. 项目结构 2. 代码 package com; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax.servlet.annotation.WebListener; /** * Application Lifecycle Listener implementation

  • Java基于servlet监听器实现在线人数监控功能的方法

    本文实例讲述了Java基于servlet监听器实现在线人数监控功能的方法.分享给大家供大家参考,具体如下: 1.分析: 做一个网站在线人数统计,可以通过ServletContextListener监听,当Web应用上下文启动时,在ServletContext中添加一个List.用来准备存放在线的用户名,然后通过HttpSessionAttributeListener监听,当用户登录成功,把用户名设置到Session中.同时将用户名方法到ServletContext的List中,最后通过HttpS

  • Java监听器的作用及用法代码示例

    监听器在JavaWeb开发中用得比较多 Java Web开发中的监听器(listener)就是application.session.request三个对象创建.销毁或者往其中添加修改删除属性时自动执行代码的功能组件,如下所示: ①ServletContextListener:对Servlet上下文的创建和销毁进行监听. ②ServletContextAttributeListener:监听Servlet上下文属性的添加.删除和替换. ③HttpSessionListener:对Session的

  • Javaweb实现在线人数统计代码实例

    这篇文章主要介绍了Javaweb实现在线人数统计代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 session并不是浏览器关闭时销毁的,而是在session失效的时候销毁下列代码就是监测session创建.销毁 package com.my.count; import javax.servlet.http.*; public class SessionCounter implements HttpSessionListener { pr

  • 利用文件属性结合Session实现在线人数统计

    <?phpob_start();session_start();$num=0;$dirpt    =    "online";$reftime    =    1; if (is_dir($dirpt) && $dir = opendir($dirpt)) {  while (($file = readdir($dir)) !== false) {    if(strcmp($file,"..")==0 || strcmp($file,&quo

  • php模仿asp Application对象在线人数统计实现方法

    本文实例讲述了php模仿asp Application对象在线人数统计实现方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: /* 用法: application('key','value'); //设置 key=value $value = application('key'); //获取 key的值 */   function application() {  $args = func_get_args(); //获取输入参数  if (count($args) >2 ||

  • ASP制作在线人数统计实例

    我们先新建一个ACCESS数据库 内容为 表名:zai 字段为 1.ip 2.time 建立一个文件为index.asp 然后就如下程序! <% '===================================================================================================''******************** 冰翎在线人数统计程序 V2.0 ******************************'' 本站程序由

  • 如何实现Java监听器详解

    一.前言 监听器就是监听事件源是否发生了某一个事件,当发生指定监听的事件时事件源会向已注册的监听器发送消息对象.监听器可以获得事件对象进行相关操作. 二.监听器模型 事件源: 发生事件的对象 消息:触发监听的某一个事件 监听器:监听发生的某个事件进行业务处理 三.案例实现 在开发者进行开发和学习之前进行监听处理业务逻辑. DeveloperListener package demo.listener; /** * 监听器接口 * dingwen * 2021/5/30 14:35 **/ pub

随机推荐