Datasource configuration for Tomcat6

使用Tomcat6的Java EE项目的数据源配置

以下头三步是配置的方式,最后一部分是说明在程序中如何使用配置好的数据源。

添加数据库驱动

把jdbc driver包放到{Tomcat home}/lib目录下 。

我用的是mysql,最新驱动是mysql-connector-java-5.1.6-bin.jar,我把它复制到了C:\apache-tomcat-6.0.16\lib

写context.xml配置文件

在项目的META-INF目录下建一名为context.xml的文档,我本机的文件(已经添加到本页附件)内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<!--

name 表示指定的jndi名称

auth 表示认证方式,一般为Container

type 表示数据源床型,使用标准的javax.sql.DataSource

maxActive 表示连接池当中最大的数据库连接

maxIdle 表示最大的空闲连接数

maxWait 当池的数据库连接已经被占用的时候,最大等待时间

logAbandoned 表示被丢弃的数据库连接是否做记录,以便跟踪

username 表示数据库用户名

password 表示数据库用户的密码

driverClassName 表示JDBC DRIVER

url 表示数据库URL地址

-->

<Context>

<Resource

name="jdbc/cyMysql"

auth="Container"

type="javax.sql.DataSource"

maxActive="50"

maxIdle="30"

maxWait="10000"

logAbandoned="true"

username="dev001"

password="dev001"

driverClassName="com.mysql.jdbc.Driver"

url="jdbc:mysql://127.0.0.1:3306/jspdev" />

</Context>

配置web.xml

在WEB-INF/web.xml中添加如下配置信息resource-ref作为web-app的根元素

<resource-ref>

<description>DB Connection</description>

<res-ref-name>jdbc/cyMysql</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

调用数据源

配置完毕,程序中调用方式,如下:

Context initContext = new InitialContext();

Context envContext = (Context) initContext.lookup("java:comp/env");

DataSource ds = (DataSource) envContext.lookup("jdbc/cyMysql");

Connection conn = ds.getConnection();

参考

Tomcat 6数据源的配置(陈毓哲)

Apache Tomcat 6.0 JNDI Datasource HOW-TO