注册 登录
编程论坛 J2EE论坛

[求助] 我的mysql和jsp怎么连不上?

fengxfu 发布于 2006-09-08 12:35, 1507 次点击
大家好, 我的mysql数据库怎么和jsp 文件连不上呢? 数据装好了,是不是驱动装的有问题?我把驱动装在lib目录里.如果是这儿的错那具体该怎么作呢?
28 回复
#2
无理取闹2006-09-08 12:43
说的具体点
#3
fengxfu2006-09-08 17:57

tomcat 提示如下:



type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: student/conn
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:244)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

java.lang.NoClassDefFoundError: student/conn
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
java.lang.Class.getConstructor0(Class.java:2640)
java.lang.Class.newInstance0(Class.java:321)
java.lang.Class.newInstance(Class.java:303)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:137)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:307)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.

#4
fengxfu2006-09-08 17:58

我是用bean连接的...
是不是我的驱动放错了地方.我放在了lib下边.

#5
无理取闹2006-09-09 20:13
我不会看tomcat的提示信息
你可以先用jsp连接一下数据库 看能不能连接上 然后再写成bean
#6
fengxfu2006-09-09 22:03

那我先试一下....

#7
神vLinux飘飘2006-09-09 22:10
数据库连接失败

请检查你的数据库连接代码
检查点:
1.数据库密码是否正确
2.连接URL是否拼写正确
3.数据库是否开启
#8
球球2006-09-09 22:40
JspServlet.java:244
HttpServlet.java:802
检查这里
#9
fengxfu2006-09-10 00:06
以下是引用球球在2006-9-9 22:40:40的发言:
JspServlet.java:244
HttpServlet.java:802
检查这里

数据库都好者.用户名与密码都对者呢.....
球球,那两句代码是那错了? 我都弄好两天了,还没连上....快帮帮我吧..

#10
神vLinux飘飘2006-09-10 00:14
我说球球啊,你要人家检查的代码都是人家不可能看到的代码呀
#11
fengxfu2006-09-10 00:36
我刚才把Tomcat 5.0\common\lib下的mysql驱动mysql-connector-java-3.1.11-bin.jar删了.然后运行时,抛出异常,在页面的最上边写了一句英文,意思是没找到驱动.

可是当我在把mysql-connector-java-3.1.11-bin.jar在放回去时,又是如下提示(以前没见过这种提示,整个页面只是这些):


com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION ** java.net.SocketException MESSAGE: java.net.ConnectException: Connection refused: connect STACKTRACE: java.net.SocketException: java.net.ConnectException: Connection refused: connect at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156) at com.mysql.jdbc.MysqlIO.(MysqlIO.java:284) at com.mysql.jdbc.Connection.createNewIO(Connection.java:2541) at com.mysql.jdbc.Connection.(Connection.java:1474) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266) at java.sql.DriverManager.getConnection(DriverManager.java:525) at java.sql.DriverManager.getConnection(DriverManager.java:171) at org.apache.jsp.mysql.mysql_jsp._jspService(mysql_jsp.java:55) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) at java.lang.Thread.run(Thread.java:595) ** END NESTED EXCEPTION ** Last packet sent to the server was 0 ms ago.
#12
fengxfu2006-09-10 00:38
版主和球球快帮我看看吧..我都快风了..................
#13
神vLinux飘飘2006-09-10 07:50
11楼的异常是说数据库套接字连接失败,这次100%是数据库连接问题。
重启你的程序
然后再次按照7楼的方法检查
#14
球球2006-09-10 15:10
我的意思是你好好检查你jsp文件里的那两个地方,不是这两句的什么问题,这两句当然看不到啦.
再不把数据库连接的代码贴上来呀.
#15
fengxfu2006-09-10 20:14

这是原文件,大家看一下.


<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.sql.*" %>
<%@ page import="javax.sql.*" %>

<html>
<body>
<%
String sDBDriver="com.mysql.jdbc.Driver";
String sConnStr="jdbc:mysql://localhost:3306/chen";
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
try{
Class.forName(sDBDriver);
con=DriverManager.getConnection(sConnStr,"root","chenxfu");
stmt=con.createStatement();
rs=stmt.executeQuery("select * from book");
while(rs.next()){
out.println(""+rs.getString(1)+"");
out.println(":"+"<br>");
out.println(rs.getString(2));
out.println(rs.getString(3));
}
rs.close();
}
catch(Exception e){
out.println(e);
}
%>
</body>
</html>

#16
无理取闹2006-09-10 20:27

写在main程序里 看看能不能编译

#17
fengxfu2006-09-10 21:07
以下是引用韩峰在2006-9-10 20:27:34的发言:

写在main程序里 看看能不能编译

什么意思呢?? 我不懂,说明白一点吧..谢谢了

#18
无理取闹2006-09-10 22:19
随手写的 有语法错误你改改
public class TestDb
{
public static void main(String [] args)
{
String sDBDriver="com.mysql.jdbc.Driver";
String sConnStr="jdbc:mysql://localhost:3306/chen";
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
try{
Class.forName(sDBDriver);
con=DriverManager.getConnection(sConnStr,"root","chenxfu");
stmt=con.createStatement();
rs=stmt.executeQuery("select * from book");
while(rs.next()){
System.out.println(""+rs.getString(1)+"");
System.out.println(":"+"<br>");
System.out.println(rs.getString(2));
System.out.println(rs.getString(3));
}
rs.close();
}
catch(Exception e){
System.out.println(e);
}
}
}
#19
球球2006-09-10 22:40
mysql我不太熟悉,但加载驱动好像这样也可以吧?
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
#20
fengxfu2006-09-10 23:14

先谢谢各位了,我现在真的是无言了. 没连上,还是先放一段时间吧.这样下去我肯定会疯.谢谢各位的帮助!~~

#21
无理取闹2006-09-11 07:04
to 球球:
"mysql我不太熟悉,但加载驱动好像这样也可以吧?
Class.forName("org.gjt.mm.mysql.Driver").newInstance();"
和Class.forName("com.mysql.jdbc.Driver");
是一样的
不过是驱动器不一样

to fengxfu:
我的那个程序怎么样 什么结果???

#22
球球2006-09-11 13:42
你把catch(Exception e)
改成catch(SQLException e)
再看它输出的异常,这样比较直观.
用System.out.println(e)输出,不要用out.println(e).

!!当然是还差个catch (ClassNotFoundException ex)啦,晕哦.

[此贴子已经被作者于2006-9-11 15:31:38编辑过]

#23
fengxfu2006-09-11 14:35
以下是引用韩峰在2006-9-11 7:04:09的发言:
to 球球:
"mysql我不太熟悉,但加载驱动好像这样也可以吧?
Class.forName("org.gjt.mm.mysql.Driver").newInstance();"
和Class.forName("com.mysql.jdbc.Driver");
是一样的
不过是驱动器不一样

to fengxfu:
我的那个程序怎么样 什么结果???



程序没错,能生成.class文件,不过还是运行不了. 提示找不到驱动.
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

#24
fengxfu2006-09-11 14:37
呵呵,,,球球....按你说的那样改了后,,,,,,现在运行结果有了变化..........  现在的页面变成了空白.   可是还是显示不了............................
#25
fengxfu2006-09-11 14:45
好像看到希望了........................................
#26
fengxfu2006-09-11 14:53
韩峰 写的是个java程序,运行时提示找不到驱动,那是不是要在jdk的那个目录里放上  mysql的驱动呢????
#27
球球2006-09-11 15:47
java.lang.ClassNotFoundException
这个异常是很多原本在JB等开发环境中开发的程序员,把JB下的程序包放在WTk下编译经常出现的问题,异常的解释是"指定的类不存在",这里主要考虑一下类的名称和路径是否正确即可,如果是在JB下做的程序包,一般都是默认加上Package的,所以转到WTK下后要注意把Package的路径加上。
#28
fengxfu2006-09-11 18:02

不太明白

#29
fengxfu2006-09-11 18:16
那我在检查一下路径
1