web.xmlにおけるListenerの役割

4987 ワード

サーブレットのListenerはjavaxを実現した.servlet.サーブレットContextListenerインタフェースのサーバ側プログラムは、ウェブアプリケーションの起動に伴って起動し、一度だけ初期化し、ウェブアプリケーションの停止に伴って破棄する.主な役割は、初期化されたコンテンツの追加作業、基本的なコンテンツの設定、パラメータや固定されたオブジェクトなどです.次に、Listenerによるデータベース接続プールのDataSourceの初期化の使用方法を説明します.
MyServletContextListener.java  
package dc.gz.listeners;  
import javax.servlet.ServletContext;  
import javax.servlet.ServletContextEvent;  
import javax.servlet.ServletContextListener;  
import org.apache.commons.dbcp.BasicDataSource;  
   
/** 
 * Web      
 */  
public class MyServletContextListener implements ServletContextListener {  
   
    //             
    public void contextDestroyed(ServletContextEvent event) {  
        ServletContext sc = event.getServletContext();  
        //    web        ,                 
        sc.removeAttribute("dataSource");  
        System.out.println("      ...");  
    }  
   
    //              
    public void contextInitialized(ServletContextEvent event) {  
        //                    
        //    web                        
        ServletContext sc = event.getServletContext();  
        ////   DataSource  ,      dbcp  
        BasicDataSource bds = new BasicDataSource();  
        bds.setDriverClassName("com.mysql.jdbc.Driver");  
        bds.setUrl("jdbc:mysql://localhost:3306/hibernate");  
        bds.setUsername("root");  
        bds.setPassword("root");  
        bds.setMaxActive(10);//       
        bds.setMaxIdle(5);//       
        //bds.setMaxWait(maxWait);         
        //   DataSource   ServletContext   ,  
        //    web     (       )  
        sc.setAttribute("dataSource", bds);  
        System.out.println("            ...");  
        System.out.println("    DataSource...");  
    }  
}  

web.xmlでは、以下のように構成されています.簡単です.
  
<listener>  
    <listener-class>dc.gz.listeners.MyServletContextListenerlistener-class>  
listener>  

このように構成すれば、後でWebアプリケーションでサーブレットContextでBasicDataSourceオブジェクトを取得することができ、データベースへの接続を取得し、性能を向上させ、使いやすいようになります.
 
 
転載先:https://www.cnblogs.com/yaoyiyao/p/7197934.html