HttpSessionListener統計在線人數 [轉]

 

/**
*   編寫以下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>

然後重新啓動你的應用服務器,訪問online.jsp檢查是否顯示正確。

發佈了52 篇原創文章 · 獲贊 0 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章