我的DBBEAN里面是这样连接数据库的:
 public static  Connection getConnection() throws SQLException {
       String mySqlDriver ="com.mysql.jdbc.Driver";
       String url = "jdbc:mysql://localhost/site";//数据库连接     
       try {
Class.forName(mySqlDriver);
    } 
catch (ClassNotFoundException e)  {
System.out.println(e.getMessage());
    }
        return DriverManager.getConnection(url, "site", "site123");
    }   
  // perform a query with records returned
  public ResultSet executeQuery(String sql)  throws SQLException
  {     
  try {
        con = Dbbean.getConnection();
        Statement statement = con.createStatement();
        rs = statement.executeQuery(sql);
    }
    catch(SQLException ex)
    {
    }
    return rs;
   }
      
当我在JSP页面里面执行查询的时候,   调用 executeQuery  的时候,是不是 每次都重新连接一次??
请问我上边的这个 dbbean 怎么改一下,让我在JSP页面里面连接一次,关闭一次就可以了。
连接-----查询,查询,查询,查询,查询------关闭;
因为我的不同的查询是在不同的区域里面; 或者哪位好人,说说其他的解决办法?从其他的角度来想想办法,处理一下这个多次查询的问题。
我现在是  连接-查询-断开;连接-查询-断开;连接-查询-断开;
<TABLE cellSpacing=0 cellPadding=0 height=60 width=500 border=0>
<TBODY>
<TR>
<TD>
   <%
String ArriveB1 = request.getParameter("Arrive");
String sqlB1 = "select flightno,flightsort,starttime,arivetime,flightweek from t_flighttime where fcode like '%PEK%' and ecode like '%CGO%'";
ResultSet rsB1 = null;
rsB1 = db.executeQuery(sqlB1);//类里面已经把连接数据库的连接写好,并且执行查询语句
//循环显示查询结果的记录
while (rsB1.next()) {
%><%=new String(rsB1.getString(1).getBytes("ISO-8859-1"),"gbk")%>
    详细信息:<%=new String(rsB1.getString(2).getBytes("ISO-8859-1"),"gbk")%>
  <%="<br>"%> 
<%
}
rsB1.close();
db.freeRs(rsB1);
                %> 
                </FONT></TD>
</TR>
</TBODY>
</table>
<TABLE cellSpacing=0 cellPadding=0 height=60 width=500 border=0>
<TBODY>
<TR>
<TD>
  <%
String ArriveB2 = request.getParameter("Arrive");
//String sql = "select flightno,flightsort,starttime,arivetime,flightweek from t_flighttime where fcode like '%PEK%' and ecode like '%CGO%'";
String sqlB2 = "select Content,address from t_cityinfo  where flags='2' and  scode like '%"
+ ArriveB2
+ "%'"+" order by Sequence";
ResultSet rsB2 = null;
rsB2 = db.executeQuery(sqlB2);//类里面已经把连接数据库的连接写好,并且执行查询语句
//循环显示查询结果的记录
while (rsB2.next()) {
%><%=new String(rsB2.getString(1).getBytes("ISO-8859-1"),"gbk")%>
    详细信息:<%=new String(rsB2.getString(2).getBytes("ISO-8859-1"),"gbk")%>
  <%="<br>"%> 
<%
}
rsB2.close();
db.freeRs(rsB2);
                 %> 
                </FONT></TD>
</TR>
</TBODY>
</table>


小弟刚刚学习JSP ,请各位山岛洞主不惜金钱(时间就是金钱),手把手点拨一下呀?!
一定给各位大哥大姐们多加分。

解决方案 »

  1.   

    没有关闭连接,这样很耗费资源.赶快把你的程序改一下.你得多次查询,你把那个设置成page,如果可以的话,试试
      

  2.   

    你想jsp不动的话,就可以在java中不要每次executeQuery的时候都去getConnection。
    是否可以做到一次getConnection,然后一直使用。
    因为连接数据库比较慢。
    思路是,连一次就不放,用完再放。
      

  3.   

    基本是不能一次多个查询的,你可以考虑修改SQL,一条SQL直接查出所有需要的数据。
      

  4.   

    cuiyanzhi
    你有试过你说的办法吗?如果实验成功,发下代码