推荐:怎样在tomcat5中配置mysql数据源

来源:岁月联盟 编辑:zhuzhu 时间:2007-07-25

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 Server4.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,找到结束标志,然后在之前加上如下语句:

 

<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>

 

 

再次提醒:一定要放在之前!

 

 

四、配置web.xml

 

 

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

 

 

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

 

<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

如果能够看到看到如下数据,说明配置成功。