一.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>
JNDI的使用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(); 
      } 
    } 
  } 

}