首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

J2EE Web 應用事件監聽:ServletContextListener 與 HttpSessionListener 實戰

     編輯:Java 相關知識

Web 應用事件類型

  • 應用啟動/停止:Servlet 容器加載/卸載 Web 應用時觸發。
  • Session 創建/失效:用戶 Session 生命週期事件。

監聽器接口

實現示例

1. 應用啟動時間記錄

public class ApplicationWatch implements ServletContextListener {
    public static long applicationInitialized = 0L;
    public void contextInitialized(ServletContextEvent e) {
        applicationInitialized = System.currentTimeMillis();
    }
    public void contextDestroyed(ServletContextEvent e) { }
}

2. 活躍 Session 計數器

public class SessionCounter implements HttpSessionListener {
    private static int activeSessions = 0;
    public void sessionCreated(HttpSessionEvent e) { activeSessions++; }
    public void sessionDestroyed(HttpSessionEvent e) { if (activeSessions > 0) activeSessions--; }
    public static int getActiveSessions() { return activeSessions; }
}

web.xml 註冊

<listener>
    <listener-class>com.example.listener.SessionCounter</listener-class>
</listener>
<listener>
    <listener-class>com.example.listener.ApplicationWatch</listener-class>
</listener>

應用場景

  • 應用啟動時初始化緩存、加載配置、啟動定時任務。
  • 統計在線用戶數、Session 失效時清理資源。
  • 應用停止時釋放連接池、關閉線程池、持久化數據。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
事件接口核心方法
應用啟動/停止ServletContextListenercontextInitialized / contextDestroyed
Session 創建/失效HttpSessionListenersessionCreated / sessionDestroyed