您的位置:首页 > Web前端 > JavaScript

JSP +Servlet 统计当前在线人数

2010-04-05 20:07 375 查看
实现类:OnLineUser .java

package com.alpha.onLineUser;

/*
* Info:统计当前在线人数
* Date:2010-4-5 17:45:55
* Auth:JavaAlpha
*/

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

public class OnLineUser implements HttpSessionListener
{
public void sessionCreated(HttpSessionEvent event)
{
ServletContext sct = event.getSession().getServletContext();

Integer onLineUser = (Integer) sct.getAttribute("onLineUser");
if (null == onLineUser) {
onLineUser = new Integer(1);
}else {
int count = onLineUser.intValue();
onLineUser = new Integer(count+1);
}
sct.setAttribute("onLineUser", onLineUser);
}

public void sessionDestroyed(HttpSessionEvent event)
{
ServletContext sct = event.getSession().getServletContext();
Integer onLineUser = (Integer) sct.getAttribute("onLineUser");
if (null == onLineUser) {
onLineUser = new Integer(0);
}else {
int count = onLineUser.intValue();
onLineUser = new Integer(count-1);
}
sct.setAttribute("onLineUser", onLineUser);

//销毁session
// HttpSession session = event.getSession();
// session.invalidate();
}
}


JSP页面:test.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
当前在线人数:<%=application.getAttribute("onLineUser") %>
</body>
</html>


web.xml 监听器配置:

<!-- 统计当前在线人数 -->
<listener>
<listener-class>com.webapp.onLineUser.OnLineUser</listener-class>
</listener>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: