TomCat6.0数据库连接池配置有几种方式,在这里我介绍一种常用的方法供大家参考:
配置过程分成三个步骤来完成:
第一步:在TomCat6.0的目录下找到context.xml配置文件。(例如:C:\apache-tomcat-6.0.14\conf\context.xml)然后打开context.xml,在标签<context></<context>之间加入如下内容:
<Resource
name="jdbc/oracle"
auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:orcl"
username="lpz"
password="lpz"
maxActive="20"
maxIdle="20"
maxWait="1000"
/>
另外可以不是tomcat_home\conf下的,在tomcat_home\webapps\yourApp\META-INF\context.xml创建一个,这样可以在不同的网站下单独配置连接池了,并且不需要重启Tomcat,Tomcat会自动重载。
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/">
</Context>
第二步:下载oracle驱动包ojdbc6.jar,拷贝到TomCat6.0目录下的lib目录里。(例如:C:\apache-tomcat-6.0.14\lib)ojdbc6.jar的oracle官方网址我这里一直打不开,CSDN里有该jar包的下载。
第三步:程序中需要数据库连接的地方,只需要编写如下代码:
import javax.sql.DataSource;
import javax.naming.*;
public class GetConnectionTest
{
public static void main(String[] args)
{
try {
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:/comp/env/jdbc/oracle");
Connection conn = ds.getConnection();
} catch (Exception e) {
e.printStackTrace();
}
}
}
实践补充:我的tomcat是6.0.29。搞了将近一天,终于搞清楚了,实践证明,上面的文章是对的,没有问题。但是你如果刚开始就和我一样创建了yourApp\META-INF\context.xml,然后在那里设置,是不是不成功?提示Name jdbc is not bound in this Context,如果这样,不要考虑什么web.xml,conf\Catalina\localhost\***.xml,不是这个原因。反正我这个版本的tomcat不需要这些。真正的原因是如果配置虚拟目录的话(我一开始就配置了虚拟目录,没有使用tomcat默认的路径),yourApp\META-INF\context.xml就不起作用了。这种情况下需要在配置虚拟目录的xml文件中,也就是server.xml,改成:
<Context path="" docBase="e:\www\tomcat">
就OK了!