日期:2014-05-17  浏览次数:20714 次

访问数据库,JavaBean里类方法返回的ResultSet与JSP里调用方法得到的ResultSet是不是同一个对象?有代码。。
我一本书里的例子:
JavaBean是这样的:
package pub;
import 。。。
public class db_gslpub
{
  。。。
  public ResultSet rs=null;
  public db_gslpub(){。。。} //构造函数加载JDBC驱动程序
  public ResultSet executeQuery(String sql)
  {
    rs=null;
    try{
      conn=
      stmt=
      rs=
    }
    catch{。。。}
    return rs;
  }
  public int executeUpdate(String sql){。。。}
  public void disconnectToDB() throws 。。。
  {
    if(rs!=null)
    {
      rs.close();
      rs=null;
    }
    if(stmt!=null){。。。}
    if(conn!=null){。。。}
  }
}

JSP代码是这样的:
。。。
<jsp:useBean id="gslpub" class="pub.db_gslpub" scope="page"/>
<%!
。。。
ResultSet rs=null;
%>
。。。
<%
try
{
  rs=gslpub.executeQuery("SELECT * 。。。");
  while(rs.next(){。。。}
}
catch{。。。}
finally
{
  rs=null;  //我的问题是,这里rs=null;以后
  gslpub.disconnectToDB();  //调用disconnectToDB()方法里面if(rs!=null)判断结果如何?
}              //JSP里调用得到的rs与JavaBean返回的rs是不是指向同一个对象?
%>            //如果是C++的指针应该指向同一个对象了,不知道Java是怎么处理的?
。。。        //rs=null与rs.close()效果有哪些不同?
</html>


------解决方案--------------------
不是同一个对象。不会互相影响
------解决方案--------------------
直接把ResultSet 打印出来,看后面的对象在内存中的id,一看就知道了
------解决方案--------------------
应该不是同一个,知足怎么证实,楼上说的我没有试过,楼主自己来呵呵