这是我完整的代码:
<%@ page contentType="text/html;charset=gb2312"%>    
<%@ page import="java.sql.*"%> 
<html>
<body>
<% 
try{
Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
String url ="jdbc:mysql://localhost:3306/mysql?user=root&password=mysql&useUnicode=true&characterEncoding=GB2312" ;
Connection conn= DriverManager.getConnection(url); 
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
String sql="select * from help_category"; 
ResultSet rs=stmt.executeQuery(sql); %>
<table><tr><td>您的第一个字段内容为:</td>
          </tr>
<%
while(rs.next()) {%> 
<tr><td>
<%=rs.getString("name")%> </td></tr>
<%}%> 
</table>
<%out.print("数据库操作成功,恭喜你");%> 
<%rs.close(); 
stmt.close(); 
conn.close(); 
}
catch(Exception ei){
    out.println(ei.getMessage());
}
%> 
</body>
</html>我安装mysql4.1,然后将mm.mysql-2.0.4-bin.jar分别放在Tomcat 5.0\common\lib;F:\j2sdk1.4.2_07\lib下,没有设置classpath,怎么一执行Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 就抛出异常,到底应该怎么设置呀?

解决方案 »

  1.   

    用的是JB吗?是的话看一下是否有把包加进来呢?
    Project--?Project Properties 看一下
      

  2.   

    mysql4.1后要用新的JDBC驱动,你用的MYSQL的JDBC驱动版本太旧了,从mysql的网站上现在一个3.0.16版本吧。driver class名称为com.mysql.jdbc.Driver
      

  3.   

    我将driver class改为了com.mysql.jdbc.Driver,然后用了一个mysql-connector-java-3.1.8-bin.jar和mysql-connector-java-3.1.8-bin-g.jar(这两个我不知道有什么区别),可是却出现了这样的异常:
    HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: org/aspectj/lang/Signature
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
    org.apache.jsp.mysqlConn_jsp._jspService(mysqlConn_jsp.java:88)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    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)
    ch12.filter.doFilter(filter.java:110)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
    root cause java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
    java.lang.Class.forName0(Native Method)
    java.lang.Class.forName(Class.java:141)
    org.apache.jsp.mysqlConn_jsp._jspService(mysqlConn_jsp.java:49)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    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)
    ch12.filter.doFilter(filter.java:110)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
    --------------------------------------------------------------------------------Apache Tomcat/5.0.28这到底是怎么回事呀,我的机器上安装了sql2000,并且jdbc连接测试通过了,难道mysql跟它冲突不成?那个高手指点一下!!
      

  4.   

    Class.forName("org.gjt.mm.mysql.Driver").我也感觉这个驱动不眼熟.
      

  5.   

    驱动是没错的,而且已经找到了。问题是这个java.lang.NoClassDefFoundError: org/aspectj/lang/Signature,哪儿用到了这个
      

  6.   

    com.mysql.jdbc.Driver应该是上面这个吧,应该,其他人看一下有没错
      

  7.   

    我用eclipse的,JDBC的驱动(mysql-connector-java-3.1.8-bin.jar)还要放到tomcat的common/lib和shared/lib里的,你试试这样,行不行
    我是可以这样连接上的.
      

  8.   

    对了,我也用这个的:com.mysql.jdbc.Driver
    而且我在程序力还加这个了:<%@ page import="com.mysql.jdbc.Driver" %>
      

  9.   

    老驱动用:jdbc:mysql://localhost:3306/mysql?user=root;password=mysql
    你的写法有问题的
      

  10.   

    org.gjt.mm.mysql.Driver是旧版本的mysql驱动,mysql4.1新版本应该是com.mysql.jdbc.Driver,你看一看你的jar文件里是不是有这个结构的包,如果没有就再下一个吧http://www.mysqkl.com
      

  11.   

    不好意思,是 http://www.mysql.com
      

  12.   

    老版本用:jdbc:mysql://localhost:3306/mysql?user=root;password=mysql
    新版本:com.mysql.jdbc.Driver
      

  13.   

    我连接的时候,错误是这样的
    type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause java.lang.NullPointerException
    org.apache.jsp.reg2_jsp._jspService(org.apache.jsp.reg2_jsp:73)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.,谁能告诉我怎么回事?
    谢谢了
      

  14.   

    依照各位的说法,我现在的代码是这样的:<%@ page contentType="text/html;charset=gb2312"%>    
    <%@ page import="java.sql.*"%> 
    <%@ page import="com.mysql.jdbc.Driver" %>
    <html>
    <body>
    <% 
    try{
    Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    String url ="jdbc:mysql://localhost/mysql?user=root&password=mysql&useUnicode=true&characterEncoding=GB2312" ;
    Connection conn= DriverManager.getConnection(url); 
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
    String sql="select * from help_category"; 
    ResultSet rs=stmt.executeQuery(sql); %>
    <table><tr><td>您的第一个字段内容为:</td>
              </tr>
    <%
    while(rs.next()) {%> 
    <tr><td>
    <%=rs.getString("name")%> </td></tr>
    <%}%> 
    </table>
    <%out.print("数据库操作成功,恭喜你");%> 
    <%rs.close(); 
    stmt.close(); 
    conn.close(); 
    }
    catch(Exception ei){
        out.println(ei.getMessage());
    }
    %> 
    为何执行到Connection conn= DriverManager.getConnection(url); 这部的时候就出错呢?错误为:Communication failure during handshake. Is there a server running on localhost:3306? 这是怎么回事呀?
      

  15.   

    好像少参数呀,应该是.getConnection(url, "root", "mysql"); 试试看哦。:)