Listener 的作用非常類似于load-on-startup Servlet。用于在Web 應用啟動時,啟動某些背景程式,這些背景程式負責為系統運作提供支援。
Listener 與load-on-startup Servlet 的差別在于: Listener 的啟動時機比load-on-startup Servlet 早,隻是Listener 是Servlet 2.3 規範之後才出現的。
使用Listener 隻需要兩個步驟:
(1)建立Listener 實作類。
(2)在web.xml 檔案中配置Listener。
一、建立Listener 實作類
建立Listener 類必須實作ServletContextListener 接口,該接口包含兩個方法。
• contextInitialized(ServletContextEvent sce): 啟動Web 應用時,系統調用該Filter的方法。
• contextDestroyed(ServletContextEvent sce): 關閉Web 應用時候,系統調用Filter的方法。
二、配置Listener
正如load-an-startup Servlet 一樣, Listener 用于啟動Web 應用的背景服務程式,但不負責處理及響應使用者請求,是以無須配置URL。
若将Listener 配置在Web 容器中(如果Web 容器支援Listener),則Listener 将随
Web 應用的啟動而啟動。配置Listener 時使用<listener/>元素,下面是配置Listener 的片段:
Xml代碼
- <!-- 配置Listener-->
- <listener>
- <!-- 指定Listener 的實作類-->
- <listener-class>lee.ScheduleListener</listener-class>
- </listener>