tomcat5中配置mysql數據源

發表于:2007-06-22來源:作者:點擊數: 標簽:
前幾天為了在 Tomcat5 中配置 MySql 的數據源,在網上到處搜刮資料,最終仍未能配置成功。迫不得已,花了些銀子買本書,看完后感覺收獲很大。 再來配置數據源簡直就是小菜一碟了,現將配置過程詳述如下,一來作為版書的資料,二來希望為大家提供些幫助。 一

   

前幾天為了在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官方網站下載

 

路徑:tomcat5d:\myweb\tomcat5;mysqlC:\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

 

注:我的webd:\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

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97