Servlet3.0學習總結(四)——使用註解標註監聽器(Listener)
阿新 • • 發佈:2018-11-09
Servlet3.0提供@WebListener註解將一個實現了特定監聽器介面的類定義為監聽器,這樣我們在web應用中使用監聽器時,也不再需要在web.xml檔案中配置監聽器的相關描述資訊了。
下面我們來建立一個監聽器,體驗一下使用@WebListener註解標註監聽器,如下所示:
監聽器的程式碼如下:
1 package me.gacl.web.listener; 2 3 import javax.servlet.ServletContextEvent; 4 import javax.servlet.ServletContextListener;5 import javax.servlet.annotation.WebListener; 6 7 /** 8 * 使用@WebListener註解將實現了ServletContextListener介面的MyServletContextListener標註為監聽器 9 */ 10 @WebListener 11 public class MyServletContextListener implements ServletContextListener { 12 13 @Override 14 public void contextDestroyed(ServletContextEvent sce) {15 System.out.println("ServletContex銷燬"); 16 } 17 18 @Override 19 public void contextInitialized(ServletContextEvent sce) { 20 System.out.println("ServletContex初始化"); 21 System.out.println(sce.getServletContext().getServerInfo()); 22 } 23 }
Web應用啟動時就會初始化這個監聽器,如下圖所示:
有了@WebListener註解之後,我們的web.xml就無需任何配置了
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app version="3.0" 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 6 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 7 <display-name></display-name> 8 <welcome-file-list> 9 <welcome-file>index.jsp</welcome-file> 10 </welcome-file-list> 11 </web-app>
Servlet3.0規範的出現,讓我們開發Servlet、Filter和Listener的程式在web.xml實現零配置。