想法完全错误,楼主听说过 DAO 没?

解决方案 »

  1.   

    HttpSession session=Context.getSession();
    ResultSet Rs=Stmt.excute("");
    session.setAttribute("rs",Rs);
      

  2.   

    在JSP中这样写
    session=request.getSession();
     ResultSet rs=(ResultSet)session.getAttribute("Rs");
      

  3.   

    什么想法错误?
    我是这样的.jsp中请求查询以后..我在servlet中调用一个dao层的类..这个类查出结果..现在我要用servlet把这个结果返回给jsp..有什么问题吗?
    用session显然是不合适的.如果这个结果集很大的话..太占用服务器资源了
      

  4.   

    我想要的类就是ResultSet  To  Object(这个obj可以是List 可以是Iterator)
      

  5.   

    Dao 是一种设计模式。运用该模式可以将应用分割成 Web 层和数据访问层,JDBC 相关的东西全在数据访问层中,Web 层与 JDBC 无关。在层间传递数据是使用值对象。
      

  6.   

    不应该传递ResultSet的,应该把结果放到ArrayList等容器里面,再传递,ResultSet应即使销毁
      

  7.   

    楼主设计的页面显然是没有分表现层和业务逻辑层。所以会直接写那些JDBC代码传递RS。
    对于小规模和代码维护量不是很大的程序,这样做倒也无妨。如果真要做的漂亮,建议学学STRUTS等开源框架。
    目前最快的方法建议采取“把结果放到ArrayList等容器里面,再传递”。
      

  8.   

    sdshadow(IT民工) ,有道理.应该把结果放到ArrayList,再返回相关数据集合的对象即可.
      

  9.   

    应该把结果转成XML,这样通用性更好。
      

  10.   

    楼上,那是和自己过不去。XML 很好玩吗?:)
      

  11.   

    放在request里,不要放在session里,否则你的服务器会消耗掉大量内存。
    写法和session一样。
    每个sevlet都会有request的对象的
    req.setAttribute("rs",Rs);
    在jsp页面里
    ResultSet Rs = (ResultSet)request.getAttribute("rs");
      

  12.   

    jsp本身不久是servlet吗
    干吗还要用其他的servlet
    那样作不仅耗费服务器资源还有数据库连接也一直占着
    想不通~
      

  13.   

    各位。我的意思很明确了啊。
    我就是想要一个ResultSet转ArrayList或ResulSet转List或ResultSet转Iterator的类啊
      

  14.   

    把ResultSet传给页面...晕...无语
      

  15.   

    把结果集放在Vector,conllection,Arrylist等集合器中,在JSP页面,通过获得集合器的大小(长度),用循环,一条一条的取出。有点象数组的味道。
      

  16.   

    我知道啊。。我就是想要这样的一个现成的类..
    利用反射支持javabean
      

  17.   

    用Struts吧 那样就不用传rs到Jsp了
      

  18.   

    把结果集放在Vector,conllection,Arrylist等集合器中
    ----------
    莫非这个collection也是一个集合?
      

  19.   

    我是将结果放在二维数组里,不知这样的方式好不好,快不快,请高手予以斧正!!
    //bean的代码片断
    public String[][] GetData() throws Exception
    {
    sql="select * from table";
    return QueryRecords(sql);

    public String[][] QueryRecords(String sql) throws Exception
    {
    String Result[][];
    int col,row;
    try{
    db.Open(url);
    db.execSELECT(sql);
    row=db.getRecordCount();
    if(row==0) return null;
    col=db.getCols();
    Result=new String[row][col];
    row=0;
    //把查询的结果以数组的二维形式返回.
    while(db.next())
    {
      for(int i=0;i<col;i++)
      Result[row][i]=db.getString(i+1);
      row++;
    }
    db.closeDataBase();
    return Result;
    }
    catch(Exception ex){
    throw new Exception("QueryRecords查询失败<br>"+ex.toString());
    }
    }//页面代码片断
    String data[][]=bean.GetData();
    int count=0;
    if(data!=null) count=data.length; if(count>0){
    for (int i=0;i<count;i++)
    {
    out.print(data[i][2]);
    };
    }
    else{
    out.print("·暂无记录");
    }
      

  20.   

    我想实现的功能就是随便给出一个javabean 。他能自动负值到这个给出的javabean中
      

  21.   

    http://www.blogjava.net/jfy3d/archive/2005/05/12/4185.html725137(2006年不会菜) 
    这个可以
    参看其他相关
      

  22.   

    建立一个结果集类,里面提供一个方法。如:public Resultset data(){},里面提供GET,SET方法(也就是结果BEAN),在查询出库中的各个值后,调用一下data()把其值set进去,然后在JSP页面get就行了。
      

  23.   

    顶一下..随便说一下..我想实现的功能就是随便给出一个javabean 。他能自动负值到这个给出的javabean中用反射机制
      

  24.   

    我有办法session+vector 以前写过。楼主要不要是下??
      

  25.   

    楼主的思想不是不可以
    但这不符合MVC的思想哦我现在是这样做的
    将Resultset 转成ARRAYLIST
    再向REQUEST.SETATTRIBES("OBJ",ARRAYLIST);大概是这样
    不过我在实际中做的时候是
    将这个ARRAYLIST系列化后传到前台页面
    然后在JSP页面中用<LOGIC:IteratoR>全部打出来
      

  26.   

    何必用javabean这么麻烦  JDK本身的Map就可以dai完成还用反射 牺牲太大了吧没有仔细看贴的习惯
      

  27.   

    27257674(烈火£焰冰) ( ) 信誉:100 
    我现在就是想要你那样的功能啊,只不过是这样的.
    List list =ResToObj(res,javaben);
      

  28.   

    不懂楼主到底要干吗!只是ResultSet得到后,再将结果放到javaBean等持久层,再回传给j表现层。ResultSet取出后和数据库连接应该立即释放吧。
        可看看appfuse,基于Spring+ Hibernate+struts的一个开源框架。应该有帮助。
      

  29.   

    ResultSet的设计有很大的缺限!它让了数据对象的直接传递复杂化了.