Tomcat5.5下配置JNDI JDBC数据源

1 安装JDBC驱动

通常,将JDBC驱动安装到$CATALINA_HOME/common/lib下。


2 声明你的资源引用

这里我们为JDBC数据源建立的JNDI资源名为“jdbc/dataSource2005”,需要在web应用部署描述文件web.xml中添加资源声明:

<resource-ref>
<description>
Resource reference to a factory for java.sql.Connection
instances that may be used for talking to a particular
database that is configured in the server.xml file.
</description>
<res-ref-name>
jdbc/dataSource2005
</res-ref-name>
<res-type>
javax.sql.DataSource
</res-type>
<res-auth>
Container
</res-auth>
</resource-ref>

以下是一份简单、完整的web.xml文件内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">
<web-app id="StrutsWuApplication">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<resource-ref id="datasource">
<description>Database connection</description>
<res-ref-name>jdbc/dataSource2005</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>


3 配置Tomcat资源工厂

接下来修改应用的$CATALINA_HOME/conf/server.xml或web应用的/META-INF/context.xml文件,在相应的context节添加:

<Context ...>
...
<Resource name="jdbc/dataSource2005" auth="Container" type="javax.sql.DataSource" username="sa" password="sa" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://localhost:1433;databasename=northwind" maxActive="8" maxIdle="4"/>
...
</Context>

Tomcat标准数据源资源工厂配置项如下:
* driverClassName - 所使用的JDBC驱动类全称。
* maxActive - 同一时刻可以自数据库连接池中被分配的最大活动实例数。
* maxIdle - 同一时刻数据库连接池中处于非活动状态的最大连接数。
* maxWait - 当连接池中没有可用连接时,连接池在抛出异常前将等待的最大时间,单位毫秒。
* password - 传给JDBC驱动的数据库密码。
* url - 传给JDBC驱动的连接URL。
* user - 传给JDBC驱动的数据库用户名。
* validationQuery - 一个SQL查询语句,用于在连接被返回给应用前的连接池验证。如果指定了该属性,则必为至少返回一行记录的SQL SELECT语句。


4 使用

Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource)envCtx.lookup("jdbc/dataSource2005");
Connection conn = ds.getConnection();
... use this connection to access the database ...
conn.close();

注意:Tomcat5.5不支持ConnectionPoolDataSource接口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值