<listener> 宣告完整類別名。implements ServletContextListener 並覆寫 contextInitialized、contextDestroyed。<listener-class> 路徑與實際包名不符。<web-app>
<listener>
<listener-class>com.example.listener.MyContextListener</listener-class>
</listener>
<servlet>...</servlet>
</web-app>
@WebListener
public class MyContextListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
// 初始化邏輯
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
// 銷毀邏輯
}
}
提供的 init 類別建構子執行緒池初始化,但 contextInitialized 中 TimerTask 未排程 (timer.schedule(...)),導致任務不執行。