转自JSPCHINA
JSP显示在线人数代码
/**
* 编写以下SessionCounter.java
* 并编译为SessiionCounter.class
* 然后放到你的网站的classpath的
* SessionCount(自己建立此目录)下面
*/
接着建立online.jsp文件用于显示在线人数
<%@ page import="SessionCount.SessionCounter" %>
在线:<%= SessionCounter.getActiveSessions() %>
然后需要在你的网站的WEB-INF中建立web.xml
文件内容如下:
JSP显示在线人数代码
/**
* 编写以下SessionCounter.java
* 并编译为SessiionCounter.class
* 然后放到你的网站的classpath的
* SessionCount(自己建立此目录)下面
*/
- package SessionCount;
- 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;
- }
- }
接着建立online.jsp文件用于显示在线人数
<%@ page import="SessionCount.SessionCounter" %>
在线:<%= SessionCounter.getActiveSessions() %>
然后需要在你的网站的WEB-INF中建立web.xml
文件内容如下:
- <!-- Web.xml -->
- <?xml version="1.0" encoding="ISO-8859-1"?>
- <!DOCTYPE web-app
- PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/j2ee/dtds/web-app_2.3.dtd">
- <web-app>
- <!-- Listeners -->
- <listener>
- <listener-class>
- SessionCount.SessionCounter
- </listener-class>
- </listener>
- </web-app>
你可以创建这样的listener去监控session的创建和销毁事件,使得在发生这样的事件时你可以做一些相应的工作。注意是session的创建和销毁动作触发listener,而不是相反。类似的与HttpSession有关的listener还有 HttpSessionBindingListener,HttpSessionActivationListener和 HttpSessionAttributeListener。