求助加散分tomcat+mysql 200分

lilijr 2006-09-04 05:32:21
疯了,一天都没搞出来
redhat linux 9.0
tomcat 4.1
mysql 5.0.24
mysql-connector-java-3.0.17-ga-bin.jar
系统一直在websphere下和jboss上跑,现在想在tomcat下面跑
版本就是上边的了
server.xml更改如下,注视掉的就是试过没有用的
<Context path="/XXXX" docBase="XXXX" debug="5" reloadable="true" crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_DBTest_log." suffix=".txt" timestamp="true"/>
<Resource name="jdbc/qts" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/qts">
<parameter>
<name>factory</name>
<value>com.mysql.jdbc.jdbc2.optional.MysqlDataSourceFactory</value>
<!--<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>100</value>
</parameter>
<!-- Maximum number of idle dB connections to retain in pool.
Set to 0 for no limit.
-->
<parameter>
<name>maxIdle</name>
<value>30</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.
-->
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<!-- MySQL dB username and password for dB connections -->
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value>sa</value>
</parameter>
<!-- Class name for mm.mysql JDBC driver
<parameter>
<name>driverClassName</name>
<value>org.gjt.mm.mysql.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>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://127.0.0.1:3306/goldview?autoReconnect=true</value>
</parameter>
</ResourceParams>
</Context>
web.xml增加
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/qts</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
test.jsp
<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="java.sql.*,javax.sql.DataSource,javax.naming.*"%>
<html>
<head><title>test.jsp</title></head>
<body bgcolor="#ffffff">
<h1>test Tomcat</h1>
<%
try
{
Context initCtx=new InitialContext();
out.println("1<br>");
DataSource ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/qts");
out.println("2<br>");
out.println(ds.toString());
out.println("<br>");
Connection conn=ds.getConnection();
out.println("3<br>");

out.println("data from database:<br>");
Statement stmt=conn.createStatement();
out.println("4<br>");

ResultSet rs =stmt.executeQuery("select id, foo, bar from testdata");
while(rs.next())
{
out.println(rs.getInt("id"));
out.println(rs.getString("foo"));
out.println(rs.getString("bar"));
}
rs.close();
stmt.close();
}
catch(Exception e)
{
out.println("e.printStackTrace();<br>");
e.printStackTrace();
}
%>
</body>
</html>
死活出不来数据,郁闷了
...全文
598 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
weizijia 2006-09-05
  • 打赏
  • 举报
回复
大哥你的东西真 鬼 我运行了
没能出来
只好帮你顶了
== 高人
success_dream 2006-09-05
  • 打赏
  • 举报
回复
我帮顶下!up!
winnyboy 2006-09-05
  • 打赏
  • 举报
回复
更改你的mysql驱动,你用的mysql版本太高,但驱动版本太低。。
lilijr 2006-09-05
  • 打赏
  • 举报
回复
唉,没有解决,但是还是结贴了
xinfudepangbian 2006-09-05
  • 打赏
  • 举报
回复
接分
zhouyan024 2006-09-05
  • 打赏
  • 举报
回复
路过,看一下你的程序,运行!没看出来!up
xiaoyaowp 2006-09-05
  • 打赏
  • 举报
回复
帮你顶
懒是一种态度 2006-09-05
  • 打赏
  • 举报
回复
帮你顶,别沉了。。。。
if_else6789 2006-09-05
  • 打赏
  • 举报
回复
这个问题我在Windows下也遇到过,后来在这儿...\Tomcat 5.5\webapps\ROOT\WEB-INF\lib下也要加JDBC驱动,加上后就一切OK啦!你试试。不好意思,来晚了,看你结贴了才给你回复。
kevinx007 2006-09-05
  • 打赏
  • 举报
回复
版本冲突吧,我也不太懂,出来了吗,加油,代码工人兄弟阿!!!
asdex1999 2006-09-04
  • 打赏
  • 举报
回复
2、安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat):
  
  CATALINA_HOME:c:\tomcat
  CATALINA_BASE:c:\tomcat
  TOMCAT_HOME: C:\Tomcat
  
  然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的servlet.jar追加到classpath中去,修改后的classpath如下:
  
  classpath=.;
  %JAVA_HOME%\lib\dt.jar;
  %JAVA_HOME%\lib\tools.jar;
  %CATALINA_HOME%\common\lib\servlet.jar;
  
  接着可以启动tomcat,在IE中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。
  
  第三步:建立自己的jsp app目录
  
  1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录;
  
  2.在webapps目录下新建一个目录,起名叫myapp;
  
  3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;
  
  4.WEB-INF下新建一个文件web.xml,内容如下:
  
  <?xml version="1.0"
  encoding="ISO-8859-1"?>
  
  <!DOCTYPE web-app
  PUBLIC "-//Sun Microsystems,
  Inc.//DTD Web Application 2.3//EN"
  "http://java.sun.com/dtd/web-app_2_3.dtd">
  
  <web-app>
  <display-name>My Web Application
  </display-name>
  <description>
  A application for test.
  </description>
  </web-app>
  
  5、在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下:
  
  <html><body><center>
  Now time is:
  <%=new java.util.Date()%>
  </center></body></html>
  
  6、重启Tomcat
didoleo 2006-09-04
  • 打赏
  • 举报
回复
%TOMCAT_HOME%

这个意思是说你的tomcat的安装目录呀

因为我机器上装在E:\Tomcat 5.0\conf\Catalina\localhost

但你机器我就不知道了,所以用的是环境变量表示法
lilijr 2006-09-04
  • 打赏
  • 举报
回复
别说我菜,没有找到这个目录

%TOMCAT_HOME%\conf\Catalina\localhost
lilijr 2006-09-04
  • 打赏
  • 举报
回复
回复人:didoleo(冷月无声)

tomcat 4.1.31
mysql 5.0.24

没有写反,我再试试你说的配置文件啊
lilijr 2006-09-04
  • 打赏
  • 举报
回复
回复人:weiba9412()

不好意思,真的是第一次用tomcat,不过驱动包已经在common\lib下了

只有一个mysql-connector-java-3.0.17-ga-bin.jar,我找找另一个是什么
didoleo 2006-09-04
  • 打赏
  • 举报
回复
tomcat 4.1
mysql 5.0.24


写反了把

mysql 4.1
tomcat 5.0.24

这个版本下的tomcat 配置jndi只在server.xml中配是不行的。

从你的docBase="XXXX" 看出来你的web 应用名是 XXXX

那么在你的%TOMCAT_HOME%\conf\Catalina\localhost 下放一个XXXX.xml 文件

内容如下(我举个我的例子)



<?xml version='1.0' encoding='utf-8'?>
<Context docBase="iamdidoleo" path="/iamdidoleo" workDir="work\Catalina\localhost\iamdidoleo">
<ResourceParams name="jdbc/didoleo">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/didoleo</value>
</parameter>
<parameter>
<name>password</name>
<value>123abc</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>org.gjt.mm.mysql.Driver</value>
</parameter>
<parameter>
<name>username</name>
<value>root</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
</ResourceParams>
</Context>



另外你的mysql jdbc 驱动一定要让tomcat找得到,我是把他copy到了common\lib 下 :)







zuguanqun 2006-09-04
  • 打赏
  • 举报
回复
up
weiba9412 2006-09-04
  • 打赏
  • 举报
回复
以上的错误就是这个问题..加入后一定好!!!解决了记得给分...撤了
weiba9412 2006-09-04
  • 打赏
  • 举报
回复
哥们你是不是第一次用Tomcat呀!!是的话你看看有没有在Tomcat 5.0\common\lib下加入数据库驱动包 (Mysql的数据库驱动包 2个)
lilijr 2006-09-04
  • 打赏
  • 举报
回复
传说中的错误
org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null', cause: No suitable driver
怎么解决啊~~~~~~~~~~
加载更多回复(11)

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧