[zz]tomcat6.0配置mysql数据库连接池

tomcat6.0配置mysql数据库连接池

(以下过程已经实践检验,除了转者注的部分其余均为原作者提供,原文请链接http://blog.csdn.net/netriches/archive/2008/09/17/2943102.aspx)

1 下载Tomcat最新版本
下载地址:http://tomcat.apache.org/
2 下载mysql最新版本以及最近版本的驱动程序
下载地址:http://dev.mysql.com/downloads
http://dev.mysql.com/downloads/connector
并将下载的mysql-connector-java-5.1.0-bin.jar 连接文件放到$CATALINA_HOME/lib/下。

同时,将mysql-connector-java-5.1.0-bin.jar添加到web项目库中(转者注)
3 安装mysql数据库
4 修改$CATALINA_HOME/conf/ context.xml,<Context></Context>之间加入如下内容

    <!-- maxActive: Maximum number of dB connections in pool. Make sure you configure your mysqld max_connections large enough to handle
         all of your db connections. Set to 0 for no limit.
         -->
    <!-- maxIdle: Maximum number of idle dB connections to retain in pool.
         Set to -1 for no limit.  See also the DBCP documentation on this
         and the minEvictableIdleTimeMillis configuration parameter.
         -->
    <!-- maxWait: Maximum time to wait for a dB connection to become available
         in ms, in this example 10 seconds. An Exception is thrown if
         this timeout is exceeded.  Set to -1 to wait indefinitely.
         -->
    <!-- username and password: MySQL dB username and password for dB connections  -->
    <!-- driverClassName: Class name for the old mm.mysql JDBC driver is
         org.gjt.mm.mysql.Driver - we recommend using Connector/J though.
         Class name for the official MySQL Connector/J driver is com.mysql.jdbc.Driver.
         -->
       <!-- url: The JDBC connection url for connecting to your MySQL dB.
         The autoReconnect=true argument to the url makes sure that the
         mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
         connection.  mysqld by default closes idle connections after 8 hours.
         -->
 
         <Resource name="jdbc/mldn"
                                                  auth="Container"
                                                  type="javax.sql.DataSource"
                                                  maxActive="100"
                                                  maxIdle="30"
                                                  maxWait="10000"
                                                  username="root"
                                                  password="admin"
                                                  driverClassName="com.mysql.jdbc.Driver"
                                                  url="jdbc:mysql://localhost:3306/mldn?autoReconnect=true"/>

此时要注意修改自己的数据库的用户名和密码
我建立的
数据库:mldn
用户名:root
密码:admin
5 修改工程目录下的web.xml文件添加如下
<description>MySQL Test App</description>
  <resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/mldn</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
  </resource-ref>
6 创建一个java类
package com.test;
package com.test;
 

import javax.naming.*;
import javax.sql.*;
import java.sql.*;
 

public class DBTest {
    String foo = "Not Connected";
    int bar = -1;
    String name=null;
    String password=null;
    public void init() {
        try {
            Context ctx = new InitialContext();
            if (ctx == null)
                throw new Exception("Boom - No Context");
            DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mldn");
            if (ds != null) {
                Connection conn = ds.getConnection();
                if (conn != null) {
                    foo = "Got Connection " + conn.toString();
                    Statement stmt = conn.createStatement();
                    ResultSet rst = stmt.executeQuery(" select * from admin ");
                    if (rst.next()) {
                        foo = rst.getString(1);
                        bar = 208;
                        name=rst.getString(2);
                        password=rst.getString(3);
                    }
                    conn.close();
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 

    public String getFoo() {
        return foo;
    }
 

    public int getBar() {
        return bar;
    }
    public String getName() {
        return name;
    }
 

    public String getPassword() {
        return password;
    }
}

7 编辑index.jsp
<%@ page language="java" pageEncoding="GB2312"%>
<%@ page import="com.test.*"%>
<html>
    <head>
       <title>DB Test</title>
    </head>
    <body>
       <%
                   DBTest tst = new DBTest();
                   tst.init();
       %>
       <h2>
           Results
       </h2>
       Foo
       <%=tst.getFoo()%><br>
       Bar
       <%=tst.getBar()%>
       <br>
       姓名:<%=tst.getName() %>
       <br>
       密码:<%=tst.getPassword() %>
    </body>
</html>
 

 8 部署测试

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/netriches/archive/2008/09/17/2943102.aspx

你可能感兴趣的:(数据库,jsp,mysql,连接池,休闲)