.将数据库驱动程序的JAR文件放在Tomcat的common/lib中
.在serverxml中设置数据源以MySQL数据库为例如下
在<GlobalNamingResources></GlobalNamingResources>节点中加入
<Resource
name=jdbc/DBPool
type=javaxsqlDataSource
password=root
driverClassName=commysqljdbcDriver
maxIdle=
maxWait=
username=root
url=jdbc:mysql://:/test
maxActive=/>
属性说明name数据源名称通常取jdbc/XXX的格式
typejavaxsqlDataSource;
password数据库用户密码
driveClassName数据库驱动
maxIdle最大空闲数数据库连接的最大空闲时间超过空闲时间数据库连
接将被标记为不可用然后被释放设为表示无限制
MaxActive连接池的最大数据库连接数设为表示无限制
maxWait最大建立连接等待时间如果超过此时间将接到异常设为表示
无限制
.在你的web应用程序的webxml中设置数据源参考如下
在<webapp></webapp>节点中加入
<resourceref>
<description>MySQLDBConnectionPool</description>
<resrefname>jdbc/DBPool</resrefname>
<restype>javaxsqlDataSource</restype>
<resauth>Container</resauth>
<ressharingscope>Shareable</ressharingscope>
</resourceref>
子节点说明description描述信息
resrefname参考数据源名字同上一步的属性name
restype资源类型javaxsqlDataSource
resauthContainer
ressharingscopeShareable
.在web应用程序的contextxml中设置数据源链接如下
在<Context></Context>节点中加入
<ResourceLink
name=jdbc/DBPool
type=javaxsqlDataSource
global=jdbc/DBPool/>
属性说明name同第步和第步的属性name值和子节点resrefname值
type同样取javaxsqlDataSource
global同name值
至此设置完成下面是如何使用数据库连接池
.建立一个连接池类DBPooljava用来创建连接池代码如下
importjavaxnamingContext;
importjavaxnamingInitialContext;
importjavaxnamingNamingException;
importjavaxsqlDataSource;
publicclassDBPool{
privatestaticDataSourcepool;
static{
Contextenv=null;
try{
env=(Context)newInitialContext()lookup(java:comp/env);
pool=(DataSource)envlookup(jdbc/DBPool);
if(pool==null)
Systemerrprintln(DBPoolisanunknownDataSource);
}catch(NamingExceptionne){
neprintStackTrace();
}
}
publicstaticDataSourcegetPool(){
returnpool;
}
}
.在要用到数据库操作的类或jsp页面中用DBPoolgetPool()getConnection()获得一个Connection对象就可以进行数据库操作最后别忘了对Connection对象调用close()方法注意这里不会关闭这个Connection而是将这个Connection放回数据库连接池