我写了一个jsp连接程序,但是不知道为什么,就是不行,连接不上,也看不太懂这个jsp的错误码? 请较一下jsp程序员高手,帮帮忙啊!!呵呵!
程序代码是:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<html>
<head>
<title>JSP连接MySQL数据库</title>
</head>
<body>
<%
  Class.forName("org.gjt.mm.mysql.Driver").newInstance();
  String url="jdbc:mysql://127.0.0.1:3306/test";
  String user="root";
  String password="windows"; 
  Connection conn=DriverManager.getConnection(url,user,password);
  Statement stmt=conn.createStatement();
  String sql="select * from userinfo";
  ResultSet rs=stmt.executeQuery(sql);
  while(rs.next()) { %>
  第一个字段内容为:<%=rs.getString(1)%>
  <br>
  第二个字段内容为:<%=rs.getString(2)%>
  <br>
  <% }%>
  <% out.print("<br>"); %>
  <% out.print("数据库操作成功,恭喜你!"); %>
  <% rs.close();
     stmt.close();
 conn.close();
 %>
 </body>
 </html>
  

解决方案 »

  1.   

    Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
    要写成Class.forName("org.gjt.mm.mysql.Driver");
      

  2.   

    谢谢大师们的回贴:以下是我遇到的错误代码:
    The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Exception in JSP: /JDBC_MySQL.jsp:107: </head>
    8: <body>
    9: <%
    10:   Class.forName("org.gjt.mm.mysql.Driver").newInstance();
    11:   String url="jdbc:mysql://127.0.0.1:3306/test";
    12:   String user="root";
    13:   String password="windows"; 
    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    root cause javax.servlet.ServletException: org.gjt.mm.mysql.Driver
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774)
    org.apache.jsp.JDBC_005fMySQL_jsp._jspService(JDBC_005fMySQL_jsp.java:94)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    root cause java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1386)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232)
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:125)
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:63)
    java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    java.lang.Class.forName0(Native Method)
    java.lang.Class.forName(Class.java:169)
    org.apache.jsp.JDBC_005fMySQL_jsp._jspService(JDBC_005fMySQL_jsp.java:52)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.5.27 logs.
      

  3.   

    原因是找不到驱动,看这个句:java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver,首先要保证你把驱动加进去、了,也可以直接把驱动放到tomcat的lib目录下面,改用这句Class.forName("com.mysql.jdbc.Driver");
      

  4.   

    Class.forName("com.mysql.jdbc.Driver");
    这句是正确的MYSQL数据库的JDBC连接
      

  5.   

    java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver 把驱动jar文件放在lib文件下,再试试还有没有错误,,,
      

  6.   

    你的驱动名字应该错了。。org.gjt.mm.mysql.Driver
    重新下载个MYSQL的驱动包,记得把包放在lib目录下面,然后把驱动名字换成com.mysql.jdbc.Driver
    你可以试试看。
      

  7.   

    驱动名倒是可以这么写,但是还是建议换成com.mysql.jdbc.Driver 
    你的问题就是没有把mySql的驱动包放到classpath中去,这个classpath
    可以是系统中的,也可是具体某个项目的,推荐在单独的项目中设置
      

  8.   

    大师们:您们好啊,我都把程序改了,不过还是那样子啊,这道底还有哪里有问题啊,也加了驱动,也改成了Class.forName("com.mysql.jdbc.Driver");并且也加入classpath路径了啊,这真的实在 是太让人头痛了吧,请问高手,接下来我,我应该如何才能完全把错误给排除呢?
    <%@ page contentType="text/html;charset=gb2312" %>
    <%@ page import="java.sql.*" %>
    <html>
    <head>
    <title>JSP测试程序</title>
    </head>
    <body>
     <div align="center"><font size="5"><strong>测试示例</strong></font></div><br>
     <%Class.forName("com.mysql.jdbc.Driver").newInstance();
      String url="jdbc:mysql://cqhgx:3306/test";
      String user="rt";
      String password="windows";
      Connection conn=DriverManager.getConnection(url,user,password);
      Statement stmt=conn.createStatement();
      String sql="select * from userinfo";
      ResultSet rs=stmt.executeQuery(sql);
      while(rs.next()) { %>
      第一个字段内容为:<%=rs.getString(1)%>
      <br>
      第二个字段内容为:<%=rs.getString(2)%>
      <br>
      <% }%>
      <% out.print("<br>"); %>
      <% out.print("数据库操作成功,恭喜你!"); %>
      <% rs.close();
         stmt.close();
     conn.close();
     %>
    </body>
    </html>
    拜托大师们,帮我分析一下,行吗?
      

  9.   

    还是报那个错误吗,如果还是,你就是没把mysql的驱动包加进去,或者是你加错了,好好分析一下,根据错误一般都能够解决问题,虽然sun公司的API时常报的是一些驴唇不对马嘴的错.
      

  10.   

    驱动放错地方了吧!你把驱动放在tomcat的lib目录中