您的位置:首页 > 运维架构 > Tomcat

tomcat配置mysql数据库连接池

2013-03-19 20:35 417 查看
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.*;

publicclass DBTest {

String foo =
"Not Connected";

intbar = -1;

String name=null;

String password=null;

publicvoid init() {

try {

Context ctx = new InitialContext();

if (ctx ==
null)

thrownew 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() {

returnfoo;

}

publicint getBar() {
returnbar;

}

public String getName() {

returnname;

}

public String getPassword() {

returnpassword;

}
}

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 部署测试
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: