连接数据库(mysql)出错,高手进来指教,谢谢.(初学者)
连接数据库出错,下面是代码:
是不是mysql服务器没有开,用不用开??怎么开??谢谢
<%@ page contentType="text/html" charset=gb2312 language="java" import="java.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<table>
<tr><td colspan="2">读取的数据</tr>
<tr><td>姓名<td>密码</tr>
<%
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
Connection con=DriverManager.getConnection("jdbc:mysql;//localhost/testDB","root","111111");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from users2");
while(rs.next()){
out.println("<tr><td>"+rs.getString("Name"));
out.println("<td>"+rs.getString("Pwd")+"</tr>");
}
rs.close();
st.close();
con.close();
%>
</table>
</BODY>
</HTML>
下面是出错的页面提示:
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: /FirstPage.jsp(1,43) quote symbol expected
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:90)
org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:198)
org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:143)
org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:156)
org.apache.jasper.compiler.ParserController.getPageEncodingForJspSyntax(ParserController.java:452)
org.apache.jasper.compiler.ParserController.determineSyntaxAndEncoding(ParserController.java:386)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:170)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
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.
--------------------------------------------------------------------------------
Apache Tomcat/5.0.28
问题点数:0、回复次数:17Top
1 楼yxhzj(余华[学习J2EE中])回复于 2005-04-01 14:00:17 得分 0
jdbc:mysql;//localhost/testDB
---->
改成
jdbc:mysql://localhost:3306/testDB
一般mysql的端口为3306
还有记得最好用
try{
}catch(Exception ex){
}
看看有没有错误
Top
2 楼yxhzj(余华[学习J2EE中])回复于 2005-04-01 14:03:32 得分 0
<% try{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
Connection con=DriverManager.getConnection("jdbc:mysql;//localhost/testDB","root","111111");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from users2");
while(rs.next()){
out.println("<tr><td>"+rs.getString("Name"));
out.println("<td>"+rs.getString("Pwd")+"</tr>");
}
rs.close();
st.close();
con.close();
}catch(ClassNotFoundException e){//找不到驱动
out.println(e.getMessage());//输入异常的信息
}catch(SQLException e){ //sql错误
out.println(e.getMessage());
}catch(Exception e){//其他异常
out.println(e.getMessage());
}
%>
Top
3 楼cronyjito(土地)回复于 2005-04-01 14:04:10 得分 0
观察下程序,我的可运行的程序的一段:
String dbDriverName = "sun.jdbc.odbc.JdbcOdbcDriver";
String l_dbConnectString ="jdbc:odbc:数据库名";
String dbUser = "";
String dbPasswd = "";
// 加载 JDBC driver
//Class.forName(dbDriverName);
DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());
// 连接数据库
Connection m_connection = DriverManager.getConnection (l_dbConnectString,dbUser,dbPasswd);
// create and execute the query
Statement stmt = m_connection.createStatement();
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
rs.close();
m_connection.close();
Top
4 楼AspNet2005(隆隆)回复于 2005-04-01 14:20:44 得分 0
是找不到驱动!org.gjt.mm.mysql.Driver 怎么办???Top
5 楼joybo()回复于 2005-04-01 14:32:30 得分 0
将mm.mysql-2.0.4-bin.jar放到工程的lib里Top
6 楼klsbhb(klsbhb)回复于 2005-04-01 14:34:56 得分 0
你下载专门的驱动了吗?下一个,再把相关.jar文件考备Top
7 楼AspNet2005(隆隆)回复于 2005-04-01 14:43:04 得分 0
谢谢Top
8 楼AspNet2005(隆隆)回复于 2005-04-01 14:44:58 得分 0
下载mm.mysql-2.0.4-bin.jar放到工程的lib里,还是不行??
Top
9 楼yxhzj(余华[学习J2EE中])回复于 2005-04-01 14:48:51 得分 0
不行???
你是怎么搭建工程的呀
还是找不到驱动?
你把它放在你的发布的站点下的web-inf/lib下看看Top
10 楼AspNet2005(隆隆)回复于 2005-04-01 14:54:16 得分 0
不行,我没有建工程.就是放到安装目录默认的root/web-inf/lib下的,还是不行.Top
11 楼yantuodi(鸡毛信)回复于 2005-04-01 15:22:18 得分 0
放到tomcat安装目录下的common/lib下试试Top
12 楼yantuodi(鸡毛信)回复于 2005-04-01 15:22:53 得分 0
再重启Tomcat
Top
13 楼rizy()回复于 2005-04-01 15:24:12 得分 0
("jdbc:mysql;//localhost/testDB","root","111111");
这句中的数据库接口没有加,改为:
(jdbc:mysql://localhost:3306/testDB"","root","111111");
3306是装mysql时默认的。
还要将mm.mysql-2.0.4-bin.jar放到项目的lib里
如:D:\Tomcat 5.0\MyTomcatProject\WEB-INF\libTop
14 楼AspNet2005(隆隆)回复于 2005-04-01 15:30:28 得分 0
出错了,提示: No suitable driverTop
15 楼yxhzj(余华[学习J2EE中])回复于 2005-04-01 15:33:09 得分 0
No suitable driver--->驱动不对Top
16 楼rizy()回复于 2005-04-01 15:40:59 得分 0
你有 popo吗?
给个popo号,我来和你讲
Top
17 楼AspNet2005(隆隆)回复于 2005-04-01 15:47:19 得分 0
我的popo:zhxl86@163.comTop




