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

请问怎么将bean里面对数据库操作的查询结果返回给servlet?
bean:

public class OperateDb {
 
private static Connection conn = null; // 声明数据库连接对象

public List<Goods> queryhot(){
int i;
String sql = "select goodsname,image from goods order by adtime desc";
DataBaseConnection dbc=new DataBaseConnection();
conn=dbc.getConnection();
List<Goods> hotgoods=new ArrayList<Goods>();
try {
Statement sta = conn.createStatement();
ResultSet res = sta.executeQuery(sql);
for (i=0;i<3;i++) {
String goodsname = res.getString(1);
String image=res.getString(2);
hotgoods.add(new Goods(goodsname,image));
}
res.close();
sta.close();
} catch (SQLException e) {
e.printStackTrace();
}

return hotgoods;
}
}

servlet:
 private AdmServlet dao1;

我现在该怎么调用呢? 我用
List<Goods> hotgs=dao1.queryhot();显示是错误的


------解决方案--------------------
你没有实例化吧。是不是空指针的错误。
------解决方案--------------------
private OperateDb dao1 = new OperateDb();
dao1.queryhot()
------解决方案--------------------
我怎么看着你 dao1是AdmServlet类的实例,
而 queryhot()是 OperateDb 的方法。
难道你的AdmServlet继承OperateDb
但逻辑上不合理