一.web容器的配置

二.Web.Xml配置
< resource-ref > 
     < description >Admin connect to DB </ description > 
     < res-ref-name >jdbc/honghu_admin </ res-ref-name > 
     < res-type >javax.sql.DataSource </ res-type > 
     < res-auth >Container </ res-auth > 
</ resource-ref >
resource-ref是可以多个的。

三.SqlBean类
package ucshop.common; 

import java.sql.Connection; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 

import javax.naming.Context; 
import javax.naming.InitialContext; 
import javax.naming.NamingException; 
import javax.sql.DataSource; 

public  class SqlBean { 
   private  static DataSource dataSource; 
    
   static { 
    init(); 
  } 
    
   /* 
    * 私有构造函数,不能显式new实例,确保只有一个实例 
    */
 
   private SqlBean() {  } 
    
   private  static  void init() { 
     try { 
      Context initContext =  new InitialContext(); 
      dataSource = (DataSource)initContext.lookup( "java:comp/env/jdbc/ucshop"); 
    } catch(NamingException nameEx) { 
      System.out.println( "lookup失败"); 
      nameEx.printStackTrace(); 
    } 
  } 
    
   /** 
    * 打开数据库连接 
    * @return 数据库连接,失败则为null 
    */
 
   public  synchronized  static Connection getConnection(){ 
     try { 
       return (dataSource !=  null)? dataSource.getConnection(): null
    }  catch (SQLException sqlEx) { 
      System.out.println( "连接失败"); 
      sqlEx.printStackTrace(); 
    } 
     return  null
  } 
    
   /** 
    * 关闭数据库连接 
    * @param conn 
    * @param statement 
    */
 
   public  static  void closeConnection(Connection conn, Statement  statement, ResultSet resultSet) { 
     try
       if (resultSet !=  null){ 
        resultSet.close(); 
        resultSet =  null
      } 
        
       if (statement !=  null){ 
        statement.close(); 
        statement =  null
      } 
         
       if(conn !=  null){ 
        conn.close(); 
        conn =  null
      } 
    } catch(SQLException sqlEx) { 
      System.out.println( "关闭数据库连接出错"); 
      sqlEx.printStackTrace(); 
    } finally { 
       try
         if (resultSet !=  null){ 
          resultSet.close(); 
          resultSet =  null
        } 
         
         if (statement !=  null){ 
          statement.close(); 
          statement =  null
        } 

         if(conn !=  null){ 
          conn.close(); 
          conn =  null
        } 
      } catch(SQLException sqlEx) { 
        System.out.println( "关闭数据库连接还是出错"); 
        sqlEx.printStackTrace(); 
      } 
    } 
  } 

}