怎样配置Tomcat6.0的数据库连接池详解
1. 在自己的项目下的META-INF(注意:不是WEB-INF,我看网上很多人都弄错了)下面新建一个context.xml文件,文件内容为:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource> //监听资源
<Resource
name="myoracle" //给资源随便起一个名字,用于在程序中调用。
auth="Container" //
type="javax.sql.DataSource" //资源类型
driverClassName="oracle.jdbc.OracleDriver" //加载驱动,每种数据库的方式不同,自己参考资料。
url="jdbc:oracle:thin:@localhost:1521:ICSS" //连接字符串,相信大家不陌生。
username="jsp" //访问数据库用户名
password="jsp" //访问数据库的密码
maxActive="200" //最大可以有200名用户连接数据源
maxIdle="10" //如果没有用户连接,空出10个连接等待用户连接
maxWait="5000"/> //如果已连接用户5000秒内没有再次连接数据源,则放弃此连接
</Context>
2. 如果不是用的myeclipse自带的tomcat,则要到那个tomcat下面conf/Catalina/localhost删除host-manager.xml和manager.xml。
3. 然后就在servlet里面调用了,调用方法:
需要用到的引用:
import javax.sql.DataSource;
import javax.naming.InitialContext;
import java.sql.Connection;
InitialContext initCtx = new InitialContext(); //
//下面的” java:comp/env”是固定的,”myoracle”是在context.xml中指定的name。
DataSource ds = (DataSource)initCtx.lookup("java:comp/env/myoracle");
Connection conn = ds.getConnection(); //获取连接。
附加:
1.Sql server 的context.xml配置:
<Resource name="名字"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="5000"
username="用户名"
password="密码"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=数据库名" />
2.oracle的context.xml配置:(已经在上面展示过了)
3.mysql的context.xml配置:
<Resource name="名字" auth="Container" type="javax.sql.DataSource" //资源类型 driverClassName="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost/数据库名" username="用户名" password="密码" maxActive="100" //最大连结数 maxIdle="30" //最大空闲时间,0为无限制 maxWait="10000"/> //建立连接的的最大等待时间