这篇文章详细的说明了tomcat5.0的配置于数据库连接池的问题!
源代码在线查看: tomcat5.0数据库连接池.txt
tomcat 5 数据库连接池配置
本文主要介绍Tomcat5.0.25这个版本下数据库连接池的配置,及程序对连接池的JNDI查找,并提供相应测试代码。最后指出配置及应用过程中的常见问题及解决方法。
1 .该文的配置环境:Tomcat5.0.25 + jdk1.4+ Sql Server 2000+Win2000
2.配置步骤:
第一步:
启动Tomcat,打开IE在地址栏内输入http://localhost:8080/admin 进入Tomcat的管理界面;点击右边的Data Sources 在右上角的下拉菜单中选择Create New Data Source 在下边的输入框中输入需要的配置信息。
JNDI Name:jdbc/XXX(XXX为自己所命的名字)
Data Source URL:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tempdb(连接的数据名)
JDBC Driver Class: com.microsoft.jdbc.sqlserver.SQLServerDriver
User Name:连接数据库的用户名
Password: 数据库密码
Max. Active Connections: 最大连接数
Max. Idle Connections: 是最大的空闲连接数
Max. Wait for Connection: 最大等待连接数
第二步:配置web.xml
打开webapps/ROOT/WEB-INF下web.xml,加入如下内容:
SqlServer Datasource example
jdbc/SqlServerDB
javax.sql.DataSource
Container
第三步:配置tomcat(添加类)
首先要下载安装sqlserver-jdbc-驱动,然后将其lib下的三个jar文件放到
tomcat/common/lib下。
注意事项:
如果是单个JSP页面我们将它放在TOMCAT_HOME/webapps/ROOT下边,同时还须修改TOMCAT_HOME/conf/Catalina/localhost/下的ROOT.xml文件,在
下边加入:
来引用所配置的JNDI数据源。同时将
注释掉
如果我们要部署的是个WEB应用程序,我们将该应用程序放在TOMCAT_HOME/webapps目录下,有两种方式可以引用我们所配置的JNDI数据源。
A:可以在TOMCAT_HOME/conf/Catalina/localhost下新建XXX.xml文件,XXX为所发布的WEB应用的名字,如我所发布的WEB应用是JndiTest,.xml文件命名为JndiTest.xml在该文件内加:
factory
org.apache.commons.dbcp.BasicDataSourceFactory
password
jsjrj
maxActive
4
maxWait
5000
url
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tempdb
driverClassName
com.microsoft.jdbc.sqlserver.SQLServerDriver
username
sa
maxIdle
2
其中E:/Tomcat 5.0/webapps/JndiTest为你所发布应用程序的目录,这样就可以进行测试了。
这样做就是每个WEB应用程序都须创建一个象JndiTest.xml这样的文件。
B;为了避免每个WEB应用程序都创建XXX.xml文件,我们可以修改TOMCAT_HOME/conf下的server.xml文件,修改如下:
在之间加入:
url
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tempdb
driverClassName
com.microsoft.jdbc.sqlserver.SQLServerDriver
maxWait
5000
maxActive
4
password
jsjrj
maxIdle
2
username
sa
factory
org.apache.commons.dbcp.BasicDataSourceFactory
下的
同时移去上边的这段:(也可以不移去)
url
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tempdb
driverClassName
com.microsoft.jdbc.sqlserver.SQLServerDriver
maxWait
5000
maxActive
4
password
jsjrj
maxIdle
2
username
sa
factory
org.apache.commons.dbcp.BasicDataSourceFactory
注意要在每个WEB应用程序的web.xml文件中都加入
SqlServer Datasource example
jdbc/SqlServerDB
javax.sql.DataSource
Container
3.测试
编写jsp文件:
Context ctx = new InitialContext();
Connection conn=null;
ctx = new InitialContext();
DataSource ds =(DataSource)ctx.lookup("java:comp/env/jdbc/test");
conn = ds.getConnection();
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from T_Student";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
out.print(rs.getString(1));
out.print(rs.getString(2));
out.print(rs.getString(3));
}%>
out.print("数据库操作成功,恭喜你");
rs.close();
stmt.close();
conn.close();
%>