一 概念介绍:

1、连接池

   Connection的取得和开放是代价比较高的处理,解决这个问题的方法是连接池。
   连接池就是事先取得一定数量的Connection,程序执行处理的时候不是新建Connection,而是取得预先准备好的Connection的使用权。
 
2、DataSource
   提供连接池机能的技术叫DataSource。   Javax.sql.DataSource
   一般web服务器会提供。比如Tomcat5.5。
   DataSource可以通过new来取得,但通常是通过 JNDI 用 lookup 取得。
 
3、JNDI (Java Naming and Directory Interface)
   Java 命名和目录服务接口(Java Naming and Directory Interface,JNDI)。
   命名服务: 可以类比为Session属性的Map的高级版。实现指定名字的对象的,取得和登录。一般Web服务器会提供。
   目录服务: 和命名服务类似,但是对象的管理是层次性的。
 
   在命名服务里登录的对象,可以用lookup()取得。

(PS:来源:

二 最基本的配置jdbc的方式:

import java.sql.Connection;import java.sql.DriverManager;public class DbConn {	private static String driver = "com.mysql.jdbc.Driver";	private static String url = "jdbc:mysql://127.0.0.1:3306/onlinefriend?useUnicode=true&characterEncoding=utf-8";	private static String user = "root";	private static String passwd = "root";		public static Connection getConnection(){		try {			//加载驱动			Class.forName(driver);						//连接数据库			Connection conn = DriverManager.getConnection(url,user,passwd);					return conn;								} catch (Exception e) {						e.printStackTrace();		}				return null;	}		}

三 通过JNDI连接池技术来配置jdbc

1 (在项目名)/WebContent/WEB-INF/ 新建 context.xml,具体内容为:

       
     

2 在web应用下的 web.xml 增加一个节点(这一步可以省略,这里配置主要是可以使相关配置信息更加稳定)

       
DBConn
       
jdbc/onlinefriend
        
javax.sql.DataSource
        
Container
    

3 配置数据库连接方法类:

import java.sql.Connection;import javax.naming.InitialContext;import javax.sql.DataSource;public class DbConn {		public static Connection getConnection(){		try {						InitialContext context = new InitialContext();			DataSource dSource = (DataSource) context.lookup("java:comp/env/jdbc/onlinefriend");			Connection conn = dSource.getConnection();						return conn;								} catch (Exception e) {						e.printStackTrace();		}				return null;	}		}