Javaweb实现在线人数统计代码实例
这篇文章主要介绍了Javaweb实现在线人数统计代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
session并不是浏览器关闭时销毁的,而是在session失效的时候销毁下列代码就是监测session创建、销毁
packagecom.my.count; importjavax.servlet.http.*; publicclassSessionCounterimplementsHttpSessionListener{ privatestaticintactiveSessions=0; //session创建时执行 publicvoidsessionCreated(HttpSessionEventse){ activeSessions++; } //session销毁时执行 publicvoidsessionDestroyed(HttpSessionEventse){ if(activeSessions>0) activeSessions--; } //获取活动的session个数(在线人数) publicstaticintgetActiveSessions(){ returnactiveSessions; } }
接下来就是配置web.xml
com.my.count.SessionCounter//这里是包名加类名
接下来就可以在jsp页面中使用
<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%> <%@pageimport="com.my.count.SessionCounter"%> <% Stringpath=request.getContextPath(); StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>"rel="externalnofollow"> MyJSP'ApplicationTest.jsp'startingpage 在线人数为:<%=SessionCounter.getActiveSessions()%>
不用jsp页面写成接口代码如下:
packagecom.wangyun.web.controllers; importjavax.servlet.http.HttpSessionEvent; importjavax.servlet.http.HttpSessionListener; publicclassSessionCounterimplementsHttpSessionListener{ staticintactiveSessions=0; //session创建时执行 publicvoidsessionCreated(HttpSessionEventse){ activeSessions++; } //session销毁时执行 publicvoidsessionDestroyed(HttpSessionEventse){ if(activeSessions>0) activeSessions--; } //获取活动的session个数(在线人数) publicstaticintgetActiveSessions(){ returnactiveSessions; } } /** *在线用户人数 *@throwsIOException *@throwsServletException */ @RequestMapping(value="user_online",method=RequestMethod.POST,produces="text/json;charset=utf-8") @ResponseBody publicObjectuser_online()throwsServletException,IOException{ JSONObjectdata=newJSONObject(); intnumber=SessionCounter.activeSessions; data.put("msg",number); returndata.toString(); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。