本文基于tomcat6.0.20版本
1.context.xml方式
在我们的WebRoot目录下,就是和WEB-INF同级的目录下,新建一个META-INF的目录(假如不存在),在该目录下创建一个context.xml文件,并且在context.xml文件当添加以下的配置信息:
<Context> <Resource name="jdbc/DSjwzhxt" auth="Container" type="javax.sql.DataSource" maxActive="20" maxIdel="10" maxWait="1000" username="qbuser" password="qbxt" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@192.168.1.3:1521:qbdb"> </Resource> </Context>
其中:
name 表示指定的jndi名称
auth 表示认证方式,一般为Container
type 表示数据源床型,使用标准的javax.sql.DataSource
maxActive 表示连接池当中最大的数据库连接
maxIdle 表示最大的空闲连接数
maxWait 当池的数据库连接已经被占用的时候,最大等待时间
logAbandoned 表示被丢弃的数据库连接是否做记录,以便跟踪
username 表示数据库用户名
password 表示数据库用户的密码
driverClassName 表示JDBC DRIVER
url 表示数据库URL地址
注意,这里你配置的name值要和程序中使用的是一样的,比如按照这个例子,程序就应该是这样的
private static String gENV = "java:comp/env/";
Context ctx = new InitialContext();
Context envContext = (Context)ctx.lookup(gENV);
DataSource ds = (DataSource) envContext.lookup("jdbc/DSjwzhxt");
Connection conn = ds.getConnection();
这种配置方式,tomcat启动的时候会在tomcat-6.0.20\conf\Catalina\localhost下自动建立一个和应用同名的xml文件,内容和context.xml是一样的。
其实可以不用context.xml,直接在tomcat-6.0.20\conf\Catalina\localhost下建立一个和应用同名的xml文件,然后里面的内容和context.xml一样也行。
2.在server.xml文件中配置数据源
在host节点内添加context节点
<Context path="/bdbj" docBase="bdbj" reloadable="true" crossContext="true">
<Resource name="jdbc/DSjwzhxt" auth="Container" type="javax.sql.DataSource" maxActive="10" maxIdle="30"
maxWait="10000" username="stuser" password="****"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@192.168.1.11:1521:hyperic"/>
</Context>
效果如下图