Listener:監聽器
- 概念:web三大元件之一
- 事件監聽機制
- 事件:一件事情
- 事件源:事件發生的地方
- 監聽器:一個物件
- 註冊監聽:將事件、事件源、監聽器、繫結在一起。當事件源上法生某個事件後,執行監聽器程式碼
- ServletContextListener:監聽ServletContext物件的建立和銷燬
- 方法:
void contextDestroyed(ServletContextEvent sce)
:ServletContext物件被銷燬之前會呼叫該方法void contextInitialized(ServletContextEvent sce)
:ServletContext物件被建立後會呼叫該方法
- 步驟:
- 定義一個類,實現ServletContextListener介面
- 複寫方法
- 配置
- web.xml
- 註解 :
@WebListener
- 指定初始化引數:
package cn.itcast.web.listener;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
import java.io.FileInputStream;
@WebListener
public class ContextLoaderListener implements ServletContextListener{
@Override
public void contextInitialized(ServletContextEvent sce) {
ServletContext servletContext = sce.getServletContext();
String contextConfigLocation = servletContext.getInitParameter("contextConfigLocation");
String realPath = servletContext.getRealPath(contextConfigLocation);
try{
FileInputStream fis=new FileInputStream(realPath);
System.out.println(fis);
}catch (Exception e){
e.printStackTrace();
}
System.out.println("ServletContext物件被建立了");
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("ServletContext物件被銷燬了");
}
}