tomcat6.0配置mysql数据库连接池
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 a连接文件放到$CATALINA_HOME/lib/下。
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 部署测试