我的代码本来没有错误的,功能运行都很正常,后来不知道为什么出现了问题,具体如下:conn = Db.getConnection();
prest = conn.prepareStatement(dbsql);
。在执行上面的两行代码的时候,第一行执行成功,返回了conn,在执行第二行的时候出现了如下的错误:Source not found for ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 307请教高手,这是什么原因,应该如何解决?

解决方案 »

  1.   

    我的代码以前执行都非常正常,后来,加入了jdom.jar,加入jdom.jar后,在执行上面的第一句:conn = Db.getConnection();的时候,在myeclipse的console下面,出现了如下这么多的输出,这些输出以前是没有的:Wed Nov 24 12:02:28 CST 2010 TRACE:                                 --> Buffer.java:185 com.mysql.jdbc.Buffer.getBufLength()
    Wed Nov 24 12:02:28 CST 2010 TRACE:                                 <--  Buffer.java:185 com.mysql.jdbc.Buffer.getBufLength(..) returning 1024
    Wed Nov 24 12:02:28 CST 2010 TRACE:                                <--  Buffer.java:133 com.mysql.jdbc.Buffer.ensureCapacity(..) returning null
    Wed Nov 24 12:02:28 CST 2010 TRACE:                               <--  Buffer.java:489 com.mysql.jdbc.Buffer.writeByte(..) returning null
    Wed Nov 24 12:02:28 CST 2010 TRACE:                               --> Buffer.java:194 com.mysql.jdbc.Buffer.getByteBuffer()
    Wed Nov 24 12:02:28 CST 2010 TRACE:                               <--  Buffer.java:194 com.mysql.jdbc.Buffer.getByteBuffer(..) returning [B@1824c0c
    Wed Nov 24 12:02:28 CST 2010 TRACE:                              <--  MysqlIO.java:2690 com.mysql.jdbc.MysqlIO.send(..) returning null
    Wed Nov 24 12:02:28 CST 2010 TRACE:                              --> MysqlIO.java:2907 com.mysql.jdbc.MysqlIO.checkErrorPacket(3)
    Wed Nov 24 12:02:28 CST 2010 TRACE:                                --> Buffer.java:232 com.mysql.jdbc.Buffer.getPosition()
    Wed Nov 24 12:02:28 CST 2010 TRACE:                                <--  Buffer.java:232 com.mysql.jdbc.Buffer.getPosition(..) returning 8
    Wed Nov 24 12:02:28 CST 2010 TRACE:                                --> Buffer.java:185 com.mysql.jdbc.Buffer.getBufLength()
    Wed Nov 24 12:02:28 CST 2010 TRACE:                                <--  Buffer.java:185 com.mysql.jdbc.Buffer.getBufLength(..) returning 7
    Wed Nov 24 12:02:28 CST 2010 TRACE:                                --> Buffer.java:185 com.mysql.jdbc.Buffer.getBufLength()
    Wed Nov 24 12:02:28 CST 2010 TRACE:                                <--  Buffer.java:185 com.mysql.jdbc.Buffer.getBufLength(..) returning 7
    Wed Nov 24 12:02:28 CST 2010 TRACE:                                --> Buffer.java:211 com.mysql.jdbc.Buffer.getBytes(0, 7)
    Wed Nov 24 12:02:28 CST 2010 TRACE:                                <--  Buffer.java:211 com.mysql.jdbc.Buffer.getBytes(..) returning [B@f984b3
    Wed Nov 24 12:02:28 CST 2010 TRACE:                                --> Buffer.java:185 com.mysql.jdbc.Buffer.getBufLength()
    Wed Nov 24 12:02:28 CST 2010 TRACE:                                <--  Buffer.java:185 com.mysql.jdbc.Buffer.getBufLength(..) returning 7
    Wed Nov 24 12:02:28 CST 2010 TRACE:                                --> Buffer.java:185 com.mysql.jdbc.Buffer.getBufLength()
    Wed Nov 24 12:02:28 CST 2010 TRACE:                                <--  Buffer.java:185 com.mysql.jdbc.Buffer.getBufLength(..) returning 7
    Wed Nov 24 12:02:28 CST 2010 TRACE:                               --> MysqlIO.java:2409 com.mysql.jdbc.MysqlIO.reuseAndReadPacket(Network packet, data follows:00 00 00 02 00 00 00        . . . . . . . 
    )
    Wed Nov 24 12:02:28 CST 2010 TRACE:                                --> Buffer.java:468 com.mysql.jdbc.Buffer.setWasMultiPacket(false)
    Wed Nov 24 12:02:28 CST 2010 TRACE:                                <--  Buffer.java:468 com.mysql.jdbc.Buffer.setWasMultiPacket(..) returning null
    Wed Nov 24 12:02:28 CST 2010 TRACE:                                --> 
    输出的内容太多,写不下了。
      

  2.   

    高手们,先不说上面的错误,先说为什么会出现那么多的提示,在执行上面的第一句:conn = Db.getConnection();的时候,在myeclipse的console下面,出现了如下这么多的输出,这些输出以前是没有的,这是为什么?
    请高手们指教一下吧
      

  3.   

    各位高手,我的链接mysql数据库的的函数如下:
    public static Connection getcon()
    {
    String CLASS_NAME = "com.mysql.jdbc.Driver";
    String CONNET_URL = "jdbc:mysql://localhost:3306/chatroom?useUnicode=true&characterEncoding=utf-8";
    String dbUser = "root"; // 管理员用户名
    String dbPwd = "hhhhhh"; // 管理员密码,安装时设定的try
    {
    Class.forName(CLASS_NAME);
    DriverManager.registerDriver(new com.mysql.jdbc.Driver());
    con = DriverManager.getConnection(CONNET_URL, dbUser, dbPwd);
    return con;
    } catch (Exception e)
    {
    e.printStackTrace();
    return null;
    }
    }就是在执行con = DriverManager.getConnection(CONNET_URL, dbUser, dbPwd);的时候,出现了上面的2楼的很多提示,请高手指教,这到底是为什么?
      

  4.   

    我重新建了一个myeclipse工程测试了一下,以上操作数据的代码完全没有问题,而且也没有那些乱七八糟的输出,我怀疑还是怎样配置myeclipse的console的输出的问题。
    也就是说,myeclipse或者是tomcat在调用mysql的驱动的时候,将驱动里面的输出都在myeclipse的控制台上显示出来了,如何才能让他不显示呢?因为2楼显示的东西都不是错误,仅仅是一些输出信息。
    请高手指点一下吧,到底怎么解决?
      

  5.   

    在函数之上,也就是在class的下面定义了个Connection con=null;
      

  6.   

    我觉得首先你应该对connection进行判断,如果为null的话就做错误处理,否则的话会出现意想不到的错误。其次,在每次进行数据库的操作后,要显示的调用connection的close方法,关闭当前的数据库连接。否则的话会出现意想不到的错误。最后,控制台输出的内容ms是日志文件,不知道你的工程里面是怎么配置的,不解。
      

  7.   

    你日志级别开的比较低吧。输出的都是trace
      

  8.   

    在catch的错误处理中,有一行e.printStackTrace();我怀疑那些乱七八糟的东西是这个输出的,我将程序中的所有e.printStackTrace();删除了,但是,还是有那些输出。