一、Listener源代码
servlet的监听器Listener,是实现了ServletContextListener接口的服务器端程序,它是随web应用的启动而启动,只初始化一次,并随web应用的停止而销毁。主要作用是:做一些初始化的内容添加工作、设置一些基本的内容、比如一些参数或者是一些固定的对象等等.(因为只有初始化方法和销毁方法)
public abstract interface ServletContextListener extends EventListener{
public abstract void contextInitialized(ServletContextEvent servletContextEvent);
public abstract void contextDestoryed(ServletContextEvent servletContextEvent);
}
二、示例
利用监听器对数据库连接池DataSourced的初始化演示:ListenerTest.java
//销毁方法
public void contextDestoryed(ServletContextEvent servletContextEvent){
ServletContext servletContext = servletContextEvent.getServletContext();
servletContext.removeAttribute("dataSource");
System.out.println("销毁工作完成...");
}
//初始化方法
public void contextInitialized(ServletContextEvent servletConTextEvent){
ServletContext servletContext = servletContextEvent.getServletContext();
BasicDataSource basicDatasource = new BasicDataSource();
basicDataSource.setDriverClassName("com.jdbc.Driver");
basicDataSource.setUrl("jdbc:mysqlocalhost:3306/");
basicDataSource.setUserName("root");
basicDataSource.setPassWord("root");
servletContext.setAttribute("dataSource",basicDatasource);
}
}
三、配置监听器
<listener>
<listener-class>com.ycq.ListenerTest</listener-class>
</listener>