数据库连接问题,

yangqingz 2003-08-24 12:29:59
刚学jsp,懂得不多。
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*"%>
<%Class.forName("org.git.mm.mysql.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/book","wangf","liduanduan");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from book");
while(rs.next()){%>
<%=rs.getSring("name")%>
<%}%>
<% rs.close();
con.close();
%>
我的jdk的设置:
.;e:\jdk\lib\dt.jar;e:\jdk\lib\tools.jar;f:\jdbc\mysql;E:\tomcat\lib\servlet.jar;F:\jdbc\mysql;
mysql的jdbc驱动程序放在:F:\jdbc\mysql\org\gjt\mm\mysql
运行时出现:
Internal Servlet Error:

org.apache.jasper.JasperException: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated.
E:\tomcat\work\localhost_8080%2Fwangf\_0002fttj_0002ejspttj_jsp_0.java:62: Ambiguous class: java.beans.Statement and java.sql.Statement
Statement stmt=con.createStatement();
^
E:\tomcat\work\localhost_8080%2Fwangf\_0002fttj_0002ejspttj_jsp_0.java:70: Method getSring(java.lang.String) not found in interface java.sql.ResultSet.
out.print(rs.getSring("name"));
还望指教。
...全文
41 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
seaman0916 2003-08-24
  • 打赏
  • 举报
回复
我倒觉得你只要把java.sql.Statement stmt=con.createStatement();改一下就行了!其他都对着呢!
rs.getString("name"));实在是想不明白!哈哈

user和password 是你登陆数据库的用户名和密码,它是管理数据库的!最高权限为 root !

yangqingz 2003-08-24
  • 打赏
  • 举报
回复
rs.getString("name"));2个由括号,一个左括号?
还有java.sql.Statement stmt=con.createStatement();
为什么要加前缀?不是import java.sql.*了吗?
另外("jdbc:mysql://localhost/book","wangf","liduanduan");里面的user和password,是在mysql数据库user表里面的用户名和密码吗?

XKP 2003-08-24
  • 打赏
  • 举报
回复
java.sql.Statement stmt=con.createStatement();




rs.getString("name"));

yangqingz 2003-08-24
  • 打赏
  • 举报
回复
还有port,我的mysql数据库用的是默认的3306端口,但是我在连接数据库的时候,("jdbc:mysql://localhost/book","wangf","liduanduan");
并没有指定端口号,它怎么连上数据库的?
yangqingz 2003-08-24
  • 打赏
  • 举报
回复
是的,好强啊!终于搞定了,
但是还有个问题就是("jdbc:mysql://localhost/book","wangf","liduanduan");
里的用户名和密码到底是哪里的,我用的是mysql数据库,是表mysql.user里的,还是winmysqladmin里面的,
初学jsp,还望指点。
ema 2003-08-24
  • 打赏
  • 举报
回复
java.lang.ClassNotFoundException: Unable to load class org.git.mm.mysql.Driver
^^^
驱动程序是org.gjt.mm.mysql.Driver
^^^
yangqingz 2003-08-24
  • 打赏
  • 举报
回复
现在程序没什么问题,但是加了捕获异常的代码,则什么都没有,不加的话出现:
Error: 500
Location: /wangf/ttj.jsp
Internal Servlet Error:

javax.servlet.ServletException: Unable to load class org.git.mm.mysql.Driver
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:386)
at _0002fttj_0002ejspttj_jsp_0._jspService(_0002fttj_0002ejspttj_jsp_0.java:92)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:126)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.runtime.JspServlet$JspServletWrapper.service(JspServlet.java:174)
at org.apache.jasper.runtime.JspServlet.serviceJspFile(JspServlet.java:261)
at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:369)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:160)
at org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338)
at java.lang.Thread.run(Thread.java:536)

Root cause:
java.lang.ClassNotFoundException: Unable to load class org.git.mm.mysql.Driver
at org.apache.jasper.runtime.JspLoader.findClass(JspLoader.java:184)
at org.apache.jasper.runtime.JspLoader.loadClass(JspLoader.java:136)
at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:140)
at _0002fttj_0002ejspttj_jsp_0._jspService(_0002fttj_0002ejspttj_jsp_0.java:60)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:126)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.runtime.JspServlet$JspServletWrapper.service(JspServlet.java:174)
at org.apache.jasper.runtime.JspServlet.serviceJspFile(JspServlet.java:261)
at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:369)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:160)
at org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338)
at java.lang.Thread.run(Thread.java:536)

怎么无法加载驱动,我设置的有问题吗?jdk应该没问题了吧。其他设置有哪些要注意的?
初学jsp,还望指教。
yangqingz 2003-08-24
  • 打赏
  • 举报
回复
Method getSring(java.lang.String) not found in interface java.sql.ResultSet.
out.print(rs.getSring("name"));
^
靠!Method getSring(java.lang.String) not found in interface java.sql.ResultSet

是getString,不是getSring
yangqingz 2003-08-24
  • 打赏
  • 举报
回复
java.beans.Statement and java.sql.Statement
Statement stmt=con.createStatement();
^
这行我看懂了,“Ambiguous class:”模糊的类名,
但是下面的个呢?
wssg 2003-08-24
  • 打赏
  • 举报
回复
都晕了

System.out.print 改为out.print
yangqingz 2003-08-24
  • 打赏
  • 举报
回复
出错信息:
Error: 500
Location: /wangf/ttj2.jsp
Internal Servlet Error:

org.apache.jasper.JasperException: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated.
E:\tomcat\work\localhost_8080%2Fwangf\_0002fttj_00032_0002ejspttj2_jsp_0.java:68: Ambiguous class: java.beans.Statement and java.sql.Statement
Statement stmt=con.createStatement();
^
E:\tomcat\work\localhost_8080%2Fwangf\_0002fttj_00032_0002ejspttj2_jsp_0.java:76: Method getSring(java.lang.String) not found in interface java.sql.ResultSet.
out.print(rs.getSring("name"));
^
2 errors, 1 warning

at org.apache.jasper.compiler.Compiler.compile(Compiler.java:247)
at org.apache.jasper.runtime.JspServlet.loadJSP(JspServlet.java:413)
at org.apache.jasper.runtime.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:149)
at org.apache.jasper.runtime.JspServlet$JspServletWrapper.service(JspServlet.java:161)
at org.apache.jasper.runtime.JspServlet.serviceJspFile(JspServlet.java:261)
at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:369)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:160)
at org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338)
at java.lang.Thread.run(Thread.java:536)

wssg 2003-08-24
  • 打赏
  • 举报
回复
<%}
catch(Exception e){}
%>
改为:
<%}
catch (ClassNotFoundException ex) {
System.out.print("1");
}
catch (SQLException ex) {
System.out.print("2");
}
%>
wssg 2003-08-24
  • 打赏
  • 举报
回复
并不赞成这样写法,不过先解决问题。

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

<%try{%>

<%Class.forName("org.git.mm.mysql.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/book","wangf","liduanduan");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from book");
while(rs.next()){%>
<%=rs.getSring("name")%>
<%}%>
<% rs.close();
con.close();
%>

<%}
catch(Exception e){}
%>


调试跟踪一下看看还有什么错?
yangqingz 2003-08-24
  • 打赏
  • 举报
回复
为什么要加改成java.sql.Statement,不是已经import java.sql.*了吗?
我用的是MySQL,那个user和password是不是在winmysqladmin里面的那个,
另外这个user和password好象没什么用,我好象不需要输入用户名和密码就可以直接进入winmysqladmin啊,

81,090

社区成员

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

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