以下的文章主要講述的是如何在tomcat5中正確配置MySQL數據源,以下的文章我們主要是對tomcat5中正確配置MySQL數據源的實際操作步驟的詳細介紹,以下就是文章的具體操作步驟描述。
一、配置MySQL環境變量:
softe version:tomcat(一個很好用的JSP運行平台)5.0.12/MySQL(和PHP搭配之最佳組合)4.1.7/MySQL(和PHP搭配之最佳組合)_driver---
MySQL(和PHP搭配之最佳組合)-connector-java-3.1.4-beta-bin.jar
MySQL(和PHP搭配之最佳組合)驅動程序可從www.MySQL(和PHP搭配之最佳組合).com官方網站下載
路徑:
tomcat(一個很好用的JSP運行平台)5在d:mywebomcat5;
MySQL(和PHP搭配之最佳組合)在C:Program FilesMySQL(和PHP搭配之最佳組合)MySQL(和PHP搭配之最佳組合) Server 4.1
Path(在原來的基礎上加上):
- d:mywebomcat5in;d:mywebjdk1.4;d:myweb
- jdk1.4in;
- d:mywebomcat5commonlibservlet-api.jar;C:Program Files
- MySQL(和PHP搭配之最佳組合)MySQL(和PHP搭配之最佳組合) Server4.1in
- CLASSPATH:d:mywebomcat5commonlibservlet-api.jar;d:myweb
- tomcat(一個很好用的JSP運行平台)5commonlibjsp(SUN企業級應用的首選)-api.jar
- JAVA_HOME:d:mywebjdk1.4
- CATALINA_HOME:d:mywebomcat5
二、建立測試數據庫
在MySQL(和PHP搭配之最佳組合)中建立一個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:mywebmyapps
首先要將MySQL(和PHP搭配之最佳組合)的驅動程序放到d:mywebomcat5commonlib下面,一定要放".jar"的文件,如是".zip"的文件直接改為.jar即可。
用文本編輯器打開D:omcat5confserver.xml(標准化越來越近了),找到結束標志,然後在之前加上如下語句:
- <Context path="/myapps" docBase="d:mywebmyapps" 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(Unix平台最流行的WEB服務器平台).commons.dbcp.BasicDataSourceFactory</value>
- </parameter>
- <!-- Maximum number of dB connections in pool. Make sure you
- configure your MySQL(和PHP搭配之最佳組合)d 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(和PHP搭配之最佳組合) 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(和PHP搭配之最佳組合) JDBC driver -->
- <parameter>
- <name>driverClassName</name>
- <value>com.MySQL(和PHP搭配之最佳組合).jdbc.Driver</value>
- </parameter>
- <!-- The JDBC connection url for connecting to your MySQL(和PHP搭配之最佳組合) dB.
- The autoReconnect=true argument to the url makes sure that the
- mm.MySQL(和PHP搭配之最佳組合) JDBC Driver will automatically reconnect if MySQL(和PHP搭配之最佳組合)d closed the
- connection.MySQL(和PHP搭配之最佳組合)d by default closes idle connections after 8 hours.
- -->
- <parameter>
- <name>url</name>
- <value>jdbc:MySQL(和PHP搭配之最佳組合)://localhost:3306/forumdb?autoReconnect=true</value>
- </parameter>
- </ResourceParams>
- </Context>
再次提醒:一定要放在之前!
四、配置web.xml(標准化越來越近了)
web.xml(標准化越來越近了)位於d:mywebmyappsWEB-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(SUN企業級應用的首選) page。
在d:mywebmyapps下編寫一個dbtest.jsp(SUN企業級應用的首選),代碼如下:
- <%@ 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(一個很好用的JSP運行平台).bat,打開IE在地址欄中輸入:http://localhost:8080/myapps/dbtest.jsp(SUN企業級應用的首選)
如果能夠看到看到如下數據,說明配置MySQL數據源成功。