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-
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 創(chuàng)建一個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 部署測試
聯(lián)系客服