--------------------Configuration: test - JDK version 1.4 <Default> - <Default>--------------------
D:\JBuilder9\thirdparty\jakarta-tomcat-4.1.24-LE-jdk14\webapps\test\WEB-INF\Dbcon.java:9: unreported exception java.lang.ClassNotFoundException; must be caught or declared to be thrown
                Class.forName("com.mysql.jdbc.Driver");
                     ^
D:\JBuilder9\thirdparty\jakarta-tomcat-4.1.24-LE-jdk14\webapps\test\WEB-INF\Dbcon.java:10: unreported exception java.sql.SQLException; must be caught or declared to be thrown
                con=DriverManager.getConnection("jdbc:mysql:///books","root","123");
                                 ^
D:\JBuilder9\thirdparty\jakarta-tomcat-4.1.24-LE-jdk14\webapps\test\WEB-INF\Dbcon.java:11: unreported exception java.sql.SQLException; must be caught or declared to be thrown
                stmt=con.createStatement();
                        ^
D:\JBuilder9\thirdparty\jakarta-tomcat-4.1.24-LE-jdk14\webapps\test\WEB-INF\Dbcon.java:12: unreported exception java.sql.SQLException; must be caught or declared to be thrown
                rs=stmt.executeQuery(sqlstring);
                       ^
4 errorsProcess completed.

解决方案 »

  1.   

    把mySql的驱动程序放到webapp\WEB-INF\lib下!
      

  2.   

    配置都没有问题啊,要不然在scriptlet里怎么能运行呢?
    我真是糊涂了。
      

  3.   

    ClassNotFound异常应该是说
    你的jsp没有找到你的驱动程序
    你在jbuilder里的话先要将你
    的驱动加到jbuilder的类路径
    里!
      

  4.   

    我是用JCreater3写的,在Jbuilder里也试了,一样。
    错误报告说java.lang包里找不到Class这个类,可是在script里能通过Class.forName("com.mysql.jdbc.Driver");这句呢并正确运行jsp文件就说明java.lang包里找到Class这个类了啊!
      

  5.   

    在IDE里编译时必须将jar文件放到
    IDE的类路径里
    还有你是在jbuilder编译jsp还是
    java类文件?
      

  6.   

    must be caught or declared to be thrown
                    
    这句话的意思就是,有例外必须被捕获,
    package test;
    import java.sql.*;
    import java.io.Serializable;
    public class DbCon implements Serializable{
    private ResultSet rs;
    private Connection con;
    private Statement stmt;
    public ResultSet getResultSet(String sqlstring){
    try{
    Class.forName("com.mysql.jdbc.Driver");
    }catch(ClassNotFoundException e){
    ...............
    }
    con=DriverManager.getConnection("jdbc:mysql:///books","root","123");
    stmt=con.createStatement();
    rs=stmt.executeQuery(sqlstring);
    return rs;
    }
    }
      

  7.   

    如果是jsp是不用捕获这个异常的
    类文件当然需要!
    呵呵!
      

  8.   

    我用了trycatch也没用啊,编译倒是可以通过,但是这是一个没用的class啊,更本不能产生对象啊。
      

  9.   

    多谢各位,我已经解决了,是必须捕获异常。但是为什么编译时会产生ClassNotFoundException和SqlException呢?