Tomcat5.5.12的数据库连接池的配置
Tomcat4.x的数据库连接池的配置成功了,呵呵不过现在俺已经用上Tomcat5.5.12这个最新的版本了,Tomcat5.5.12修正了Tomcat4.x的视图配置方式中存在的Bug,不过最后还是需要手动配置一下,具体的配置方法Tomcat5.5.12与Tomcat4.x存在着一些不同之处,请看下面的详细说明,其实也只是大同小异,仅此而已;
1:首先到http://archive.apache.org/dist/jakarta/下载Tomcat5.5.12版本并安装;(注:Tomcat5.5.12已不需要JDK了啊,哈哈它需要安装JRE1.5.0及以上版本才可,^_^我当时安装Tomcat5.5.12时郁闷了很久,因为我用的是JDK1.4.1,唉!!)
2:把Oracke的java包classes12.jar,ojdbc14.jar ,Copy到%TOMCAT_HOME%commonlib下,Tomcat5.x可
能已经需要 commons-dbcp-1.2.1.jar 这个包了,很多说明是这么说的可是我试了commons-dbcp-1.1.jar
也能用;如没有可到http://archive.apache.org/dist/jakarta/下载;
3:在视图配置下输入一下内容:
JNDI Name: jdbc/testDB
Data Source URL: jdbc:oracle:thin:@192.168.0.110:1521:DBName JDBC Driver Class: oracle.jdbc.driver.OracleDriver
User Name: name //访问数据的用户名
Password: password //访问数据的用户密码
Max. Active Connections: 100
Max. Idle Connections: 10
Max. Wait for Connection: 10
Validation Query:
填写完毕后,Commit Change,就ok了;
打开server.xml 文件会看到:
<GlobalNamingResources>
<Environment
name="simpleValue"
type="java.lang.Integer"
value="30"/>
<Resource
name="jdbc/testDB"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
password="password"
maxIdle="2"
maxWait="5000"
username="name"
url="jdbc:oracle:thin:@192.168.0.110:1521:DBName"
maxActive="4"/>
</GlobalNamingResources>
哈哈再向下看,如果你看到
<Host appBase="webapps" name="localhost">
<Context path="/test" docBase="test" debug="0" reloadable="true">
<Resource name="jdbc/testDB" auth="Container"
………………/>
</Context> </Host>
请把<Context ………… </Context>部分去掉;
5.%TOMCAT_HOME%confcontext.xml中添加:
<ResourceLink name="jdbc/testDB" global="jdbc/testDB" type="javax.sql.DataSourcer"/>
6:在你的应用程序的web.xml文件中添加:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/testDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
7:写一个数据库连接的java文件:
import java.sql.*;
import java.sql.*;
import javax.sql.DataSource;
import javax.naming.*;
public class MyDBConnection
{
public MyDBConnection()
{
}
public static Connection getConnection()
{
Connection conn;
try
{
Context initCtx = new InitialContext();
Context ctx = (Context) initCtx.lookup("java:comp/env");
//获取连接池对象
Object obj = (Object) ctx.lookup("jdbc/testDB");
//类型转换
javax.sql.DataSource ds = (javax.sql.DataSource)obj;
conn = ds.getConnection();
return conn;
}
catch(Exception e)
{
e.printStackTrace();
return null;
}
}
}