首先寫個類:
import javax.servlet.*;
import javax.servlet.http.*;
public class SessionCounter implements HttpSessionListener {
private static int activeSessions = 0;
public void sessionCreated(HttpSessionEvent se) {
activeSessions++;
}
public void sessionDestroyed(HttpSessionEvent se) {
if(activeSessions > 0)
activeSessions--;
}
public static int getActiveSessions() {
return activeSessions;
}
}
然後配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
****************************************
<!-- Listeners -->
<listener>
<listener-class>
SessionCount.SessionCounter (注意此處)
</listener-class>
</listener>
*****************************************
</web-app>
建個JSP測試:
test.jsp
<%@ page language="Java" contentType="text/html;charset=GBK"%>
<%@ page import="java.sql.*"%>
<%@ page import="SessionCount.SessionCounter" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>無標題文檔</title>
<body bgcolor="#FFFFFF">
線上人數:<%=SessionCounter.getActiveSessions()%>
</body>
</html>
測試以下,會發現程式已經統計出結果了。