是这样的,代码太长,我这里只讲明。
我写了两个Bean LinkDB 和 QueryDB,一个是连接数据库,一个是访问数据库。
然后先调用 LinkDB 连接数据库,返回参数 Statement stmt 传给 QueryDB,
再在QueryDB里面通过stmt访问数据库,
然后用LinkDB一次连接数据库,用executeQuery先后两次访问数据库,第二次的ResultSet覆盖第一次的ResultSet,就是说两次用同一个ResultSet对象(后来改为用不同两个,同样不行)。注意:我在LinkDB 里面写了两个方法
public void StmtClose() throws Exception{ // the method to close the Statement
stmt.close();
}
public void ConnClose() throws Exception{ // the method to close the Connection
conn.close();
}但问题是我根本没有在JSP里面运用这两个方法,是否因为我在LinkDB里面写了这两个方法,系统在访问完数据库以后,就好像调用doGet(),doPost那样自动调用这两个方法关闭数据库连接呢?
这点最值得怀疑,请帮忙。
我写了两个Bean LinkDB 和 QueryDB,一个是连接数据库,一个是访问数据库。
然后先调用 LinkDB 连接数据库,返回参数 Statement stmt 传给 QueryDB,
再在QueryDB里面通过stmt访问数据库,
然后用LinkDB一次连接数据库,用executeQuery先后两次访问数据库,第二次的ResultSet覆盖第一次的ResultSet,就是说两次用同一个ResultSet对象(后来改为用不同两个,同样不行)。注意:我在LinkDB 里面写了两个方法
public void StmtClose() throws Exception{ // the method to close the Statement
stmt.close();
}
public void ConnClose() throws Exception{ // the method to close the Connection
conn.close();
}但问题是我根本没有在JSP里面运用这两个方法,是否因为我在LinkDB里面写了这两个方法,系统在访问完数据库以后,就好像调用doGet(),doPost那样自动调用这两个方法关闭数据库连接呢?
这点最值得怀疑,请帮忙。
你在java里面碰到的“好象”系统自动调用,其实都是设计者实实在在去调用了,但是封装起来让你没有看到而已,这就是所谓的framework,所以你说的这样的情况不可能出现,编译器没有那么智能
如果JSP里面沒有關﹐那么﹐就是在LINKDB里面關掉了如果對其它的有懷疑﹐就注掉先﹐然后檢查嘛
请参考