首页 > 数据库 > MySQL > 正文

Tomcat5配置mysql4数据源

2024-07-24 12:57:15
字体:
来源:转载
供稿:网友

  一、配置环境变量:

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在地址栏中输入:http://localhost:8080/root/test.jsp.

  可是显示结果却是:

cannot create jdbc driver of class '' for connect url 'null'

  请高手指教一下!急!



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表