`

注册的在线人数/统计在线人数/网站总访问量

阅读更多
java LoginAction:
request.getSession().setAttribute(Constant.USER_KEY, user);

java UserSessionListener:
public class UserSessionListener implements HttpSessionListener,HttpSessionAttributeListener {

	 private static int activeSessions = 0;//当前在线人数
	 private static Map online=new HashMap();//当前注册的在线用户
	 private static int accessCount = 0; //网站总访问量
	 public static Map getOnline() { 
		 return online; 
	 }
	 public static int getOnlineSize() {//当前注册的在线人数
		 return online.size(); 
	 } 

	public void sessionCreated(HttpSessionEvent event) {
		// TODO Auto-generated method stub
//		System.out.println("[监听到]用户"+event.getSession().getId()+"上线!");
		activeSessions++;
		//统计总访问量
		System.out.println(event.getSession().getServletContext().getRealPath("/count/"));
		 File file = new File(event.getSession().getServletContext().getRealPath("/count/"), "count.txt");
		 FileInputStream in = null;
		 FileOutputStream out = null;
		 try {
			 if(file.exists()){
				 	in=new FileInputStream(file);
				    DataInputStream dis=new DataInputStream(in);
				    accessCount=dis.readInt();
				    dis.close();
				    in.close();
				    accessCount++;
				 	out = new FileOutputStream(file);
				    DataOutputStream dos = new DataOutputStream(out);
				    dos.writeInt(accessCount);
				    dos.flush();
				    dos.close();
				    out.close();
				    System.out.println("accessCount1="+accessCount);
			 }else{
					file.createNewFile();
					out = new FileOutputStream(file);
				     DataOutputStream dos = new DataOutputStream(out);
				     dos.writeInt(0);
				     dos.flush();
				     out.close();
				     dos.close();
				     System.out.println("accessCount0="+accessCount);
			 }
		 } catch (IOException e) {
			 e.printStackTrace();
		 }
	}
	public static int getAccessCount(){//网站总访问量
		return accessCount;
	}


	public void sessionDestroyed(HttpSessionEvent event) {
//		System.out.println("[监听到]用户"+event.getSession().getId()+"下线!");
		if(activeSessions>0){
			activeSessions--;
		}
	}
	public static int getActiveSessions() {//当前在线人数
		return activeSessions; 
	}

	public void attributeAdded(HttpSessionBindingEvent event) {
//		System.out.println("[监听到]Added:event.getName()="+event.getName());
//		System.out.println("[监听到]用户"+event.getSession().getId()+"上线!");
		if (event.getName().equals(Constant.USER_KEY)) { 
//			System.out.println("User logged in."); 
			User users = (User) event.getSession().getAttribute(Constant.USER_KEY);
			online.put(event.getSession().getId(),users); 
		} 
	}

	public void attributeRemoved(HttpSessionBindingEvent event) {
//		System.out.println("[监听到]Removed:event.getName()="+event.getName());
//		System.out.println("[监听到]用户"+event.getSession().getId()+"下线!");
		if (event.getName().equals(Constant.USER_KEY)) { 
//			System.out.println("User logged out."); 
			online.remove(event.getSession().getId()); 
		} 

	}

	public void attributeReplaced(HttpSessionBindingEvent event) {
	}
}



html:
<%@ page import="com.worthtech.eshop.web.listener.UserSessionListener" %> 


<tr>
				<td>会员/在线人数:</td>	
				<td><%= UserSessionListener.getOnlineSize() %> / <%= UserSessionListener.getActiveSessions() %></td>
				<td>本月新增会员:</td>
				<td><%= (String)request.getSession().getAttribute("loginedMonth") %></td>
			</tr>
			<tr>
				<td>网站流量:</td>
				<td><%= UserSessionListener.getAccessCount() %> </td>
				<td>注册人数:</td>	
				<td><%= (String)request.getSession().getAttribute("loginedUser") %></td>
			</tr>
分享到:
评论

相关推荐

    网站访问量统计代码访客系统信息如IP,当前在线人数统计,网站总访问量

    网站访问量统计是衡量一个网站流量的重要指标之一,它可以帮助网站管理者了解用户的行为模式,包括用户从何处来、在网站上的停留时间、访问频率等。通过对这些数据的分析,可以更好地优化网站内容和服务,提升用户...

    统计在线人数与图表分析网站访问量

    统计在线人数与图表分析网站访问量说明书 主要功能 本系统能即时统计访问网站的在线人数。以图像形式显示某年某月访问量,并以百分比形式显示在图像上。 操作注意事项 用户在使用《统计在线人数与图表分析网站访问量...

    统计网站总访问量 实例

    在互联网行业中,统计网站总访问量是一项至关重要的任务,它能反映出网站的受欢迎程度、用户活跃度以及内容吸引力。为了防止不真实的访问量(如通过刷新页面来人为增加访问量),通常会采取一些策略和工具进行准确的...

    网站统计在线人数,当前年、月、日访问量JAVA代码

    在网站运营过程中,统计在线人数和访问量是至关重要的数据指标,它们可以帮助我们了解网站的活跃度、用户行为以及优化方向。本主题将详细介绍如何使用Java编程语言来实现这一功能,特别是关注当前年、月、日的访问量...

    asp.net实现网站访问量统计和显示网站在线人数

    在asp.net中,实现对网站访问量的统计,和显示此时的在线人数

    HttpSessionListener在线人数和历史访问量

    总结,`HttpSessionListener`可以有效地帮助我们跟踪Web应用的在线用户数,而历史访问量的统计则需要结合其他手段,如`Filter`或`Servlet`,以及适当的日志存储和分析机制。在实际项目中,你还需要考虑性能优化、...

    网页在线人数统计

    网页在线人数统计是网站运营和分析中的重要指标,它能够帮助网站管理员了解当前网站的活跃度,优化资源分配,以及调整服务策略。在ASP(Active Server Pages)编程中,我们可以利用Application对象和Session对象来...

    c#统计在线人数与图表分析网站访问量附说明书

    在C#编程环境中,开发一个统计在线人数与图表分析网站访问量的系统是一项常见的任务,尤其对于网站开发者和数据分析师来说。这个系统的核心功能包括实时监测网站的在线用户数量以及生成展示网站访问量的图表。下面...

    java web在线人数统计/监听

    Java Web在线人数统计是Web应用程序中常见的需求,用于获取当前网站活跃用户数量。这个功能的实现通常基于HTTP协议的工作机制,特别是对Session的管理和监听。本文将深入探讨如何使用Java Web技术来监听并统计在线...

    javaweb开发在线人数统计

    在线人数统计是 Java Web 开发中一个常见的功能,当一个用户登录后,显示欢迎信息,同时显示出当前在线的总人数和用户名单。当一个用户退出登录或者 Session 超时值发生时,从在线用户名单中删除这个用户,同时将...

    js实现统计访问量js实现统计访问量

    在现代网站开发中,统计用户访问量是一项非常重要的任务。通过收集这些数据,网站管理员可以了解哪些页面最受欢迎、用户活动的趋势以及如何优化用户体验等。本篇文章将详细介绍一个使用JavaScript编写的简单访问量...

    ASP.NET统计日访问量,总访问量

    在ASP.NET中实现统计日访问量和总访问量的功能是网站运营中的常见需求,它可以帮助开发者了解网站的活跃度,进而优化用户体验,提高网站性能。 首先,我们需要理解“日访问量”和“总访问量”的概念。日访问量指的...

    网站访问人数统计

    网站访问人数统计是Web分析中的基础任务,它对于评估网站流量、优化用户体验和制定营销策略至关重要。在这个场景中,你创建了一个产品页面,并在门户网站上投放了链接,目的是吸引潜在客户并了解页面的访问情况。...

    java统计在线人数

    在Java Web开发中,统计在线人数是一项常见的需求,它能够帮助我们了解系统当前的活跃用户量。本项目通过实现`HttpSessionListener`接口,每隔一分钟动态更新在线人数,提供了高效且可靠的解决方案。以下是对这个...

    在线人数统计 在线人数统计

    在线人数统计是网站运营中的重要指标,用于了解网站的活跃度和用户参与度。下面将详细解释这个领域的几个关键知识点: 1. **Web应用程序结构**: - `Global.asax` 文件:这是一个ASP.NET应用程序的全局应用事件...

    asp.net统计在线人数

    **页面访问量统计**:除了在线人数,我们还可能关心页面访问量。这可以通过跟踪HTTP请求中的URL信息来实现,每次请求到达时,相应地增加相应页面的访问计数。 总的来说,统计在线人数是一个综合了会话管理、HTTP上...

    jsp统计访问人数源码

    - 使用`application`对象:为了统计所有用户的总访问量,我们可以利用`application`对象存储全局的访问次数。每次有新访问时,我们都会增加这个值。 5. JSP脚本元素: 我们可以在JSP页面中使用脚本元素()来插入...

    基于_NET内置对象的在线人数统计

    综上所述,基于ASP.NET的在线人数统计主要是利用Application对象来实现全局的计数,结合Session对象来管理用户的会话状态,从而提供一个准确反映当前站点访问量的指标。同时,通过合理地处理并发、超时和数据持久化...

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

    在IT行业中,尤其是在数据分析和网站运营领域,统计访问量是一项至关重要的任务。本文将深入探讨如何使用Java语言优雅地实现年、月、日、周访问量的统计。这个功能可以帮助我们更好地理解用户行为,优化产品,并制定...

    application+access制作网站访问人数统计

    在IT行业中,网站访问人数统计是一项基础且重要的工作,它能帮助我们了解网站的活跃度、用户行为以及优化网站的方向。本教程将介绍如何利用Microsoft Access数据库和Application对象来实现这一功能。Access是一款...

Global site tag (gtag.js) - Google Analytics