日期:2014-05-16  浏览次数:20359 次

eclipse下配置Tomcat6.0的数据库连接池详解

?

eclipse下配置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?. ?然后就在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();  //获取连接。

?

3. 附加:

(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)mysql的context.cml 配置

<Resource name="jdbc/struts" auth="Container"
                type="javax.sql.DataSource"
                driverClassName="com.mysql.jdbc.Driver"
                url="jdbc:mysql://localhost:3306/struts?characterEncoding=utf8"
                username="root"
                password="1234"              
                maxActive="200"
                maxIdle="50" 
                maxWait="3000"
/>  
?