Tomcat5配置mysql4数据源

80酷酷网    80kuku.com

  mysql|数据|数据源

  一、配置环境变量:

windowsXP + sp2 
 softe version:
     jdk-1_5_0_01
     tomcat5.5.12
     mysql4.1.14
     mysql-connector-java-3.1.111-bin.jar

路径:  tomcat5在C:\Tomcat 5.5;
 mysql在C:\Program Files\MySQL\MySQL Server 4.1
 jdk在C:\jdk1.5.0_01

Path(在原来的基础上加上):C:\Tomcat 5.5\bin;C:\jdk1.5.0_01;C:\jdk1.5.0_01\bin;C:\Tomcat 5.5\common\lib\servlet-api.jar;C:\Program Files\MySQL\MySQL Server 4.1\bin

CLASSPATH:C:\Tomcat 5.5\common\lib\servlet-api.jar;C:\Tomcat 5.5\common\lib\jsp-api.jar

JAVA_HOME:\jdk1.5.0_01

CATALINA_HOME:C:\Tomcat 5.5

  二、建立测试数据库

  在mysql中建立一个mywebdb数据库,同时创建一个表tested如下

create database mywebdb

create table tested
(
id int(2),
name varchar(6)
);

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

insert into member values(1,"Holmes");
insert into member values(2,"conan");

  至此,数据库准备完毕

  三、Tomcat5数据源配置

  1 以admin账户登入找到TomcatServer/Service/Host/你的Web程序名/DataSource   //-->点击这里  。

  2 选择“Create New Data Source” 。

  3 填写信息
    JNDI Name: MyPool   //-->连接池名字
    Data Source URL: jdbc:mysql://localhost:3306/mywebdb?autoReconnect=true
    JDBC Driver Class: com.mysql.jdbc.Driver
   //驱动需下载。
    User Name: //数据库用户名 。
    Password: //数据库密码 。
    Max. Active Connections: //最大活动连结数 ,0为不限 。
    Max. Idle Connections: //最大等待连结数 ,0为不限 。
    Max. Wait for Connection: //建立连接超时时间ms,-1为无限 。

  4保存以后一定要点commit changes。

  5不用重启,只要刷新页面。

  我的server.xml 内容为:

<?xml version="1.0" encoding="UTF-8"?>
<Server>
  <Listener className="org.apache.catalina.core.AprLifecycleListener"/>
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
  <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
  <GlobalNamingResources>
    <Environment
      name="simpleValue"
      type="java.lang.Integer"
      value="30"/>
    <Resource
      auth="Container"
      description="User database that can be updated and saved"
      name="UserDatabase"
      type="org.apache.catalina.UserDatabase"
      pathname="conf/tomcat-users.xml"
      factory="org.apache.catalina.users.MemoryUserDatabaseFactory"/>
    <Resource
      name="MyPool"
      type="javax.sql.DataSource"
      driverClassName="com.mysql.jdbc.Driver"
      password="admin"
      maxIdle="5"
      maxWait="5000"
      username="root"
      url="jdbc:mysql://localhost:3306/mywebdb?autoReconnect=true"
      maxActive="5"/>
  </GlobalNamingResources>
  <Service
      name="Catalina">
    <Connector
        port="8080"
        redirectPort="8443"
        minSpareThreads="25"
        connectionTimeout="20000"
        maxSpareThreads="75"
        maxThreads="150"
        maxHttpHeaderSize="8192">
    </Connector>
    <Connector
        port="8009"
        redirectPort="8443"
        connectionTimeout="0"
        protocol="AJP/1.3">
    </Connector>
    <Engine
        defaultHost="localhost"
        name="Catalina">
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
      <Host
          appBase="webapps"
          name="localhost">
      </Host>
    </Engine>
  </Service>
</Server>

  四、配置web.xml

  web.xml位于C:\Tomcat 5.5\webapps\ROOT\WEB-INF下,也即是你的WEB里的web.xml。(我是直接使用TOMCAT的工程进行修改)

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

<resource-ref>
 <description>DB Connection</description>
 <res-ref-name>MyPool</res-ref-name>
 <res-type>javax.sql.DataSource</res-type>
 <res-auth>Container</res-auth>
</resource-ref>

  五、编写测试jsp page

在C:\Tomcat 5.5\webapps\ROOT下编写一个test.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{
  Statement stmt;
  ResultSet rs;

  javax.naming.Context ctx=new javax.naming.InitialContext();
  javax.sql.DataSource ds= (javax.sql.DataSource)ctx.lookup ("java:comp/env/MyPool"); //红色  字为连接池名,其他固定。
  java.sql.Connection con=ds.getConnection();

  stmt=con.createStatement();
  rs=stmt.executeQuery("select * from tested");
  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,打开IE在地址栏中输入:.

  可是显示结果却是:

Cannot create JDBC driver of class '' for connect URL 'null'

  请高手指教一下!急!



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: