tomcat5.5 数据源,tomcat5中配置mysql数据源

tomcat5中配置mysql数据源 - 应用软件 - 电脑教程网

tomcat5中配置mysql数据源

日期:2006-07-15   荐:

前几天为了在Tomcat5中配置MySql的数据源,在网上到处搜刮资料,最终仍未能配置成功。迫不得已,花了些银子买本书,看完后感觉收获很大。再来配置数据源简直就是小菜一碟了,现将配置过程详述如下,一来作为版书的资料,二来希望为大家提供些帮助。

一、配置环境变量:

softe version:tomcat5.0.12/mysql4.1.7/mysql_driver---mysql-connector-java-3.1.4-beta-bin.jar

前几天为了在Tomcat5中配置MySql的数据源,在网上到处搜刮资料,最终仍未能配置成功。迫不得已,花了些银子买本书,看完后感觉收获很大。再来配置数据源简直就是小菜一碟了,现将配置过程详述如下,一来作为版书的资料,二来希望为大家提供些帮助。

一、配置环境变量:

softe version:tomcat5.0.12/mysql4.1.7/mysql_driver---mysql-connector-java-3.1.4-beta-bin.jar

mysql驱动程序可从www.mysql.com官方网站下载

路径:tomcat5在d:\myweb\tomcat5;mysql在C:\Program Files\MySQL\MySQL Server 4.1

Path(在原来的基础上加上):d:\myweb\tomcat5\bin;d:\myweb\jdk1.4;d:\myweb\jdk1.4\bin;

d:\myweb\tomcat5\common\lib\servlet-api.jar;C:\Program Files\MySQL\MySQL Server 4.1\bin

CLASSPATH:d:\myweb\tomcat5\common\lib\servlet-api.jar;d:\myweb\tomcat5\common\lib\jsp-api.jar

JAVA_HOME:d:\myweb\jdk1.4

CATALINA_HOME:d:\myweb\tomcat5

二、建立测试数据库

在mysql中建立一个forumdb数据库,同时创建一个表member如下:

create database forumdb;

create table member

(

id int,

name varchar(6)

);

然后插入两条测试数据如下:

insert into member values(1,"zhang");

insert into member values(2,"wang");

至此,数据库准备完毕。

三、配置server.xml

注:我的web在d:\myweb\myapps

首先要将mysql的驱动程序放到d:\myweb\tomcat5\common\lib下面,一定要放".jar"的文件,如是".zip"的文件直接改为.jar即可。

用文本编辑器打开D:\tomcat5\conf\server.xml,找到</host>结束标志,然后在之前加上如下语句:

<Context path="/myapps" docBase="d:\myweb\myapps" debug="0"reloadable="true" >

<Resource name="jdbc/DBConnection" auth="Container" type="javax.sql.DataSource" />

<ResourceParams name="jdbc/DBConnection"> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter>

<!-- 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. --> <parameter> <name>maxActive</name> <value>10</value> </parameter>

<!-- Maximum number of idle dB connections to retain in pool. Set to 0 for no limit. --> <parameter> <name>maxIdle</name> <value>3</value> </parameter>

<!-- 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. 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. --> <parameter> <name>maxWait</name> <value>10000</value> </parameter>

<!-- MySQL dB username and password for dB connections --> <parameter> <name>username</name> <value>root</value> </parameter> <parameter> <name>password</name> <value>1234</value> </parameter>

<!-- Class name for mm.mysql JDBC driver --> <parameter> <name>driverClassName</name> <value>com.mysql.jdbc.Driver</value> </parameter>

<!-- 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. --> <parameter> <name>url</name> <value>jdbc:mysql://localhost:3306/forumdb?autoReconnect=true</value> </parameter> </ResourceParams>

</Context>再次提醒:一定要放在</host>之前!

四、配置web.xml

web.xml位于d:\myweb\myapps\WEB-INF下,也即是你的WEB里的web.xml。

同样用文本编辑器打开web.xml,然后加入如下语句(在<web-app>与</web-app>之间)

<resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/DBConnection</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>五、编写测试jsp page。

在d:\myweb\myapps\下编写一个dbtest.jsp,代码如下:

<%@ page import="java.io.*,java.util.*,java.sql.*,javax.sql.*,javax.naming.*"%><%@ page contentType="text/html;charset=GB2312"%><html><head><title>DataSourse Connection Test</title></head><body><% try{ java.sql.Connection con; Statement stmt; ResultSet rs; Context ctx = new InitialContext(); DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/DBConnection"); con=ds.getConnection(); stmt=con.createStatement(); rs=stmt.executeQuery("select * from member");while(rs.next()){ out.print(rs.getInt(1);

out.print(rs.getString(2));} rs.close(); stmt.close(); con.close(); }catch(Exception e){ out.print(e.getMessage()); } %>

</body></html>

六、开始测试

运行tomcat.bat,打开IE 在地址栏中输入:http://localhost:8080/myapps/dbtest.jsp

如果能够看到看到如下数据,恭喜你,成功了,若没有,说明还是有问题,只好再来了(通常都是最简单的拼错字符的问题)1 zhang

2 wang
标签: