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();
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。