发表于: 2004.09.16 14:36
分类: 朝花夕拾
出处: http://strawberry79.itpub.net/post/329/2080
---------------------------------------------------------------
一、配置Tomcat连接池
配置Tomcat连接池可通过Tomcat图形界面操作方式直接创建,也可通过直接修改配置文件(server.xml)方法来实现.下面详细介绍:
A.图形界面操作方法:
在Tomcat管理界面找到你的工作目录,展开目录树选择Data Sources,然后按照如下方式填写:
JNDI Name: jdbc/myoracle
Data Source URL: jdbc:oracle:thin:@10.3.8.48:1521:ORADB
JDBC Driver Class: oracle.jdbc.driver.OracleDriver
User Name:water
Password:water
Max. Active Connections: 10
Max. Idle Connections: 20
Max. Wait for Connection: 5000
Validation Query:
B.直接修改sever.xml文件,如果是tomcat5修改confCatalinalocalhostxxx.xml
<Context className="org.apache.catalina.core.StandardContext" cachingAllowed="true" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" crossContext="false" debug="0" docBase="E:shuibaoSystemShuiBaoShuiBaoRHPWK" mapperClass="org.apache.catalina.core.StandardContextMapper" path="/ShuiBaoRHPWK" privileged="false" reloadable="true" swallowOutput="false" useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper">
<Resource auth="Container" name="jdbc/myoracle" scope="Shareable" type="javax.sql.DataSource"/>
<!--如果是多个的情况-->
<Resource auth="Container" name="jdbc/myoracle2" scope="Shareable" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/myoracle">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@XX.XX.XX.XX:1521:ORADB</value>
</parameter>
<parameter>
<name>password</name>
<value>XXX</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>10</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>-1</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>username</name>
<value>XXX</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>5</value>
</parameter>
</ResourceParams>
<ResourceParams name="jdbc/myoracle2">
.....同上
</ResourceParams>
</Context>
二、测试一下我们配置的连接池
A、写一个建立连接的类
/*
* Created on 2004-3-29
* Tomcat连接池的使用
*/
package test;
//import java.util.Collection;
import javax.sql.*;
import java.sql.*;
import javax.naming.InitialContext;
import javax.naming.Context;
public class TomcatPool {
/**
* 构造函数
*/
public TomcatPool() {
super();
}
//取得连接池与数据库的连接
public void init(String strsql) {
Connection conn;
try{
Context ctx = new InitialContext();
if(ctx == null )
throw new Exception("Boom - No Context");
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/myoracle");
if (ds != null) {
conn = ds.getConnection();
if(conn != null) {
Statement stmt = conn.createStatement();
rst = stmt.executeQuery(strsql);
}
}
}catch(Exception e) {
e.printStackTrace();
}
}
public ResultSet getRst(){
return rst;
}
ResultSet rst;
}
B、写一个JSP文件测试一下是否成功
<html>
<head>
<meta name = "Generator" content = "Easy Struts Xslt generator for Eclipse (http://easystruts.sf.net).">
<title>Struts Form for testpoolForm</title>
</head>
<body>
<%
java.sql.ResultSet rs;
test.TomcatPool tomcatpool = new test.TomcatPool();
tomcatpool.init("select * from jiveid");
rs=tomcatpool.getRst();
//读取数据库中记录
while(rs.next()){
String mmm=rs.getString(1);
out.println(mmm);
out.println("<br>");
}
%>
......success!
<body>
</html>
如果你看到了输出结果,那么证明你的连接池配置没有问题。
注:在测试的时候,不要写一个JAVA文件,然后以application的方式运行测试,那样是无法成功的。因为只有tomcat环境才支持。
(MSN:may_strawberr79@hotmail.com)











