服务器--Tomcat5的数据库连接池配置

间隙填充
正睿科技  发布时间:2007-12-21 09:05:51  浏览数:2280
 

在Tomcat5.5.20这个版本下数据库连接池的配置,及程序对连接池的JNDI查找,并提供相应测试代码。最后指出配置及应用过程中的常见问题及解决方法。
1 .配置环境:Tomcat5.5.20 + jdk1.5.0_09+ Sql Server 2000+Win2000
2.配置步骤:
第一步:
启动Tomcat,打开IE在地址栏内输入http://localhost:8080/admin  进入Tomcat的管理界面;点击右边的Data Sources 在右上角的下拉菜单中选择Create New Data Source 在下边的输入框中输入需要的配置信息。之后保存并提交。
JNDI Name:jdbc/SQL              //(SQL为自己所命的名字)
Data Source URL:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=employeedb
JDBC Driver Class: com.microsoft.jdbc.sqlserver.SQLServerDriver
User Name:sa
Password: sa
Max. Active Connections: 4         //最大连接数
Max. Idle Connections: 2           //最大的空闲连接数
Max. Wait for Connection:5000      //最大等待连接时间
第二步:配置tomcat添加JDBC驱动
首先要下载安装sqlserver-jdbc-驱动,然后将其lib下的三个jar文件放到tomcat/common/lib下。
第三步:配置tomcat安装路下的/con/context.xml文件,添加如下内容:
< Resource name="jdbc/SQL" type="javax.sql.DataSource" maxActive="4"
        maxIdle="2" username="sa" maxWait="5000"
        driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
        password="sa"
    url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=employeedb" />
第四步:测试:编写JSP文件。
< %@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
< %@ page import="java.sql.*"%>
< %@ page import="javax.sql.*"%>
< %@ page import="javax.naming.*"%>

< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
< html>
    < head>
        < title>tomcat数据库连接池技术测试< /title>
    < /head>
    < body>
        Tomcat数据库连接池测试
        < br>
        < %
            Connection conn = null;
            Context initCtx = new InitialContext();
            Context ctx = (Context) initCtx.lookup("java:comp/env");

            javax.sql.DataSource ds = (javax.sql.DataSource) ctx
                    .lookup("jdbc/SQL");

            conn = ds.getConnection();

            Statement stmt = conn.createStatement();
            PreparedStatement ps = conn.prepareStatement("select * from employee");
            ResultSet rs = ps.executeQuery();
            while (rs.next()) {
                out.println(rs.getInt(1) + "< br>");
                out.println(rs.getString(2) + "< br>");
                out.println(rs.getString(3) + "< br>");
                out.println(rs.getInt(4) + "< br>");
            }
            rs.close();
            stmt.close();
            conn.close();
            out.println("测试成功");
        %>
    < /body>
< /html>
     (责任编辑:包春林)