`

java实现简单的在线用户统计

阅读更多

这个是我入第二家公司,技术总监面试的一道我认为有水平的java面试题,当时我心里没有准确的答案,在一知半懂的情况下答了出了。结果是我面试上了。后来这道题成为了我面试别人是否能录用的标准之一。

我们一般的问法是这样:在一个门户网站,且没有登录的情况下要如何统计出在线人数。很多人给我的答案大多是拦首页等或别的页面,当然这个是不行的。还有的答法是用过滤器,这个或许可以,但至今我没有试过。

我们给出的代码是使用session的监听器,因为我们知道一连接一个用户,就会产生一个新的session。而断开一个用户则会销毁一个session。我们分别在产生和销毁时对在线用户数加1或是-1。这样的数据与当前用户数大致相同。说大致相同是因为session的销毁要在用户退出后的一段时间。所以会造成一定的偏差。

 

代码大致如下:

import javax.servlet.ServletContext; import javax.servlet.http.HttpSession;

import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener;

public class OnlineCountListener implements HttpSessionListener {

private static int sessionCount = 0;

public void sessionCreated(HttpSessionEvent event) {

HttpSession session = event.getSession();

ServletContext application = session.getServletContext();

sessionCount++;

application.setAttribute(“onlineCount”, sessionCount);

}

public void sessionDestroyed(HttpSessionEvent event) {

HttpSession session = event.getSession();

ServletContext application = session.getServletContext();

if(sessionCount >= 1){

sessionCount = sessionCount – 1;

}

application.setAttribute(“onlineCount”, sessionCount);

}
}

分享到:
评论

相关推荐

    jsp+servlet+java 实现统计在线人数,在线用户.txt

    根据提供的文件信息,我们可以分析出该系统通过JSP、Servlet以及Java技术实现了一个简单的在线用户统计功能。下面将从以下几个方面进行详细解析: ### 一、项目架构与技术栈 本项目主要使用了JSP(Java Server ...

    Java实现:月,日,年,周,访问量统计

    在Java编程中,实现月、日、年、周和访问量统计是一项常见的需求,尤其是在构建数据分析或Web应用中。这通常涉及到数据收集、处理和可视化。以下是一些关键知识点: 1. **日期和时间处理**:Java提供了多种库来处理...

    Java在线投票系统 - 实现在线投票和统计功能

    总结在这个实战博客中,我们了解了如何使用 Java 和 Spring Boot 构建一个简单的在线投票系统。我们使用了 Thymeleaf 提供用户界面,Spring Data JPA 简化数据访问,并借助 H2 内存数据库存储投票数据。通过这个项目...

    java实现的可视化统计商品销售

    用户可以通过简单的交互操作(如输入行数并按下回车键),完成对商品销售数据的基本统计。 #### 关键知识点详解 ##### 1. 图形用户界面构建 - **Swing 组件库**:该系统采用了Java Swing组件库来构建图形用户界面...

    JAVA Web在线用户统计

    在JAVA Web开发中,实现在线用户统计是一项关键功能,它能够帮助网站或应用程序的管理员实时了解当前有多少用户正在访问和使用系统。这个“JAVA Web在线用户统计”解决方案显然是强大、好用且简单的,这意味着它可能...

    jsp实现在线人数及在线用户统计

    ### JSP实现在线人数及在线用户统计 #### 知识点概述 在现代Web开发中,统计在线人数和在线用户是十分重要的功能之一,尤其是在构建社区、论坛等交互性强的网站时。通过JSP(JavaServer Pages)可以方便地实现这一...

    java实现各种数据统计图

    在Java编程环境中,实现数据统计图是一项常见的任务,特别是在数据分析、可视化报告或用户界面设计中。JFreeChart是一个强大的开源库,它为开发者提供了丰富的图表类型,如柱形图、饼图和折线图,使得在Java中创建...

    用java实现word统计报表和图形统计的导出

    在给定的标题“用java实现word统计报表和图形统计的导出”中,我们可以理解到这个项目或教程旨在教我们如何使用Java来创建包含统计报表和图形的Microsoft Word文档。这通常涉及到两个关键领域:文本处理和数据可视化...

    非常完美Java实现年、月、日、周访问量统计

    总结来说,Java提供的强大日期和时间API使得实现年、月、日、周访问量统计变得简单。通过合理的数据结构和设计模式,我们可以构建出高效且易于维护的统计系统。在实际项目中,还需要考虑线程安全、性能优化以及与...

    简单的敏感词统计系统 java

    这个名为"简单的敏感词统计系统 java"的项目,专为初级Java学习者设计,旨在帮助他们理解和实现一个基础的文本分析工具。下面我们将深入探讨该系统的功能、实现原理以及涉及的Java编程知识点。 首先,系统的主功能...

    java实现简单投票程序

    在本项目中,我们探讨的是如何使用Java编程语言来实现一个简单的投票程序。这个程序可能是为了模拟选举过程,收集和统计选民的选择。基于提供的标签,我们可以推断出该程序的开发环境是MyEclipse,这是一款强大的...

    简单的超市管理系统(Java实现)

    【标题】:“简单的超市管理系统(Java实现)” 这个标题表明我们正在讨论一个基于Java编程语言开发的超市管理系统。这样的系统通常用于帮助小型超市或便利店管理库存、销售、客户信息等核心业务流程。Java是一种...

    Java代码统计实现

    总之,"Java代码行统计软件.jar"是一个实用的工具,它展示了如何利用Java处理文本文件,进行字符串操作,以及构建简单的文件系统遍历逻辑。通过学习和理解这个工具的实现,开发者可以提升自己的文件处理和代码分析...

    JAVA实现简单的教师管理系统

    在本项目中,我们关注的是使用JAVA编程语言实现一个简单的教师管理系统。这个系统涉及到的核心知识点主要包括数据结构(如结构体)、数组操作、文件处理以及基本的用户交互功能。以下是对这些知识点的详细说明: 1....

    java做的简单群聊

    【Java实现简单群聊系统详解】 在信息技术领域,开发一个基于Java的简单群聊系统是一项常见的练习,旨在提升开发者在网络编程、多线程以及数据交互等方面的能力。本项目主要涉及的技术栈包括Java语言基础、Socket...

    java实现的简单 日历

    本项目中,开发者已经实现了一个名为"java实现的简单日历"的应用,其核心在于纠正了传统方法求解一周中具体日期对应星期的算法。 首先,我们需要了解Java中的日期和时间处理。在Java 8之前,主要使用`java.util....

    程序代码量统计Java实现

    这个简单的Java实现不仅可以帮助开发者了解项目的代码规模,还能用于持续集成环境中,作为评估项目进度和复杂性的指标。当然,实际的代码统计可能需要考虑更多细节,比如注释行、空行的排除,以及不同编程语言的特定...

    Java词频统计程序MVC

    Java词频统计程序MVC是一种基于Java编程语言实现的、采用Model-View-Controller(MVC)设计模式的软件架构来统计文本中单词出现频率的应用。MVC模式是软件工程中一种常用的设计模式,用于将应用程序的业务逻辑、用户...

    java基于xml实现网站访问量统计

    Java基于XML实现网站访问量统计是一种常见的Web应用监控方法,...综上所述,Java基于XML实现网站访问量统计是一个简单而实用的方法,尤其适用于小型项目。但随着网站规模的扩大,可能需要考虑更高级的统计和存储方案。

    Java调用Google Analytics API实现网站统计.doc

    Java调用Google Analytics API实现网站统计是Web开发者用于获取网站流量和用户行为数据的重要方法。Google Analytics是一款由谷歌提供的强大的数据分析服务,它可以帮助网站所有者深入了解用户行为、转化率、来源...

Global site tag (gtag.js) - Google Analytics