| 事件 | 接口 | 核心方法 |
| 應用啟動/停止 | ServletContextListener | contextInitialized / contextDestroyed |
| Session 創建/失效 | HttpSessionListener | sessionCreated / sessionDestroyed |
實現示例
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 失效時清理資源。
- 應用停止時釋放連接池、關閉線程池、持久化數據。
- 上一篇文章: Java Web 統一異常處理與 AJAX 中文亂碼解決方案
- 下一篇文章: MIDP 貪吃蛇遊戲核心算法實現解析
Copyright ©
程式碼之家 All Rights Reserved