《精通JSP—Web开发技术与典型应用》里面的goods_list.jsp 用JavaBean调用DB_goods.Java里的public Vector list_goods()  这一块代码不知有没有错误?

解决方案 »

  1.   

    /////////////////////////////////////////////////////DB_goods.Javapackage ch15.JavaBean;import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.Vector;
    import ch15.JavaBean.DB_Conn;
    import ch15.JavaBean.Goods;public class DB_goods {
    DB_Conn db_conn = new DB_Conn(); // 列出网上商城中所有的商品
    public Vector list_goods() {
    db_conn.ConnectDB();
    ResultSet rs = null;
    try {
    String sql = "select * from goods";
    sql = new String(sql.getBytes("ISO8859-1"), "GB2312");
    rs = db_conn.sm.executeQuery(sql);
    Goods goods = null;
    Vector vector = new Vector();
    // ResultSet指针最初位于第一行之前,调用next方法使下一行成为当前行
    while (rs.next()) {
    goods = new Goods();
    goods.setGoods_id(rs.getInt("goods_id"));
    goods.setGoods_name(rs.getString("goods_name"));
    goods.setTypeid(rs.getInt("typeid"));
    goods.setGoods_price(rs.getFloat("goods_price"));
    goods.setGoods_discount(rs.getFloat("Goods_discount"));
    goods.setGoods_desc(rs.getString("goods_desc"));
    goods.setSupplier(rs.getString("supplier"));
    goods.setQty(rs.getInt("qty"));
    goods.setIspreferred(rs.getInt("ispreferred"));
    goods.setGoods_pic(rs.getString("Goods_pic"));
    // 向Vector矢量中添加对象goods
    vector.addElement(goods);
    }
    return vector;

    catch (SQLException SqlE) {
    SqlE.printStackTrace();
    return null;

    catch (Exception E) {
    E.printStackTrace();
    return null;

    finally {
    // 关闭连接,释放数据库资源:
    db_conn.CloseDB();
    }
    } // 对上述函数进行重载,为了实现通过id获取商品的信息
    public Vector list_goods(int id)// 列出网上商城中所有的商品
    {
    db_conn.ConnectDB();
    ResultSet rs = null;
    try {
    String sql = "select * from goods where Goods_id=" + id;
    sql = new String(sql.getBytes("ISO8859-1"), "GB2312");
    rs = db_conn.sm.executeQuery(sql);
    Goods goods = null;
    Vector vector = new Vector();
    while (rs.next()) {
    goods = new Goods();
    goods.setGoods_id(rs.getInt("Goods_id"));
    goods.setGoods_name(rs.getString("Goods_name"));
    goods.setTypeid(rs.getInt("typeid"));
    goods.setGoods_price(rs.getFloat("Goods_price"));
    goods.setGoods_discount(rs.getFloat("Goods_discount"));
    goods.setGoods_desc(rs.getString("Goods_desc"));
    goods.setSupplier(rs.getString("supplier"));
    goods.setQty(rs.getInt("qty"));
    goods.setIspreferred(rs.getInt("ispreferred"));
    goods.setGoods_pic(rs.getString("Goods_pic"));
    vector.addElement(goods);
    }
    return vector;

    catch (SQLException SqlE) {
    SqlE.printStackTrace();
    return null;

    catch (Exception E) {
    E.printStackTrace();
    return null;

    finally {
    // 关闭连接,释放数据库资源:
    db_conn.CloseDB();
    }
    } public String getStr(String s) {
    String str = s;
    try {
    byte b[] = str.getBytes("ISO-8859-1");
    str = new String(b);
    return str;

    catch (Exception e) {
    return null;
    }
    }
    }///////////////////////////////////////////goods_list.jsp   <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.io.PrintWriter"%>
    <%@ page import="ch15.JavaBean.*"%>
    <%@ page import="java.util.Vector"%>
    <%@ include file="public.jsp" %>
    <jsp:useBean id="goods" scope="page" class="ch15.JavaBean.Goods"/>
    <jsp:useBean id="db_conn"  class="ch15.JavaBean.DB_Conn"  scope="session"/>
    <jsp:useBean id="db_goods"  class="ch15.JavaBean.DB_goods" scope="session"/>
    <jsp:useBean id="db_type" class="ch15.JavaBean.DB_type" scope="session"/> <%!int i=0,size=0;%>
        
        <h3><center>欢迎光临兵马俑网上商城</center></h3>
        <table bgcolor="#ffccff" align=center border=1 cellspacing=0 width=90%>
        <tr bgcolor="#cccccc"><td colspan=10 align=center>兵马俑网上商城商品一览</td></tr>
        <tr bgcolor="#cc99cc">
        <td align=center>商品名称</td><td align=center>商品类别</td><td align=center>商品价格</td>
        <td align=center>商品折扣率</td><td align=center>折扣价格</td>
        <td align=center>商品描述</td><td align=center>生产制造商</td>
        <td align=center>是否推荐商品</td><td align=center>商品图片</td><td align=center>我要购买</td>
        </tr>
        <%
             //vector中存储购物网站中所有商品的信息,即存储购物车信息
             Vector vector=new Vector();
             vector=db_goods.list_goods();
             size=vector.size();
        %>
        
      
        <%
            //从Vector容器中取出商品信息并输出到浏览器中
             for(i=0;i<vector.size();i++)
             {
               goods=(Goods)vector.elementAt(i);
        %>
        <tr>
        <td align=center><font size=2>
         <%out.print(goods.getGoods_name());%></font></td>
        <td align=center><font size=2>
         <%out.print(db_type.getTypename(goods.getTypeid()));%></font></td>
        <td align=center><font size=2>
         <%out.print(goods.getGoods_price());%></font></td>
        <td align=center><font size=2>
         <%out.print(goods.getGoods_discount());%></font></td>
        <td align=center><font size=2>
         <%out.print(goods.getGoods_price()*goods.getGoods_discount()/10);%></font></td>
        <td align=left><font size=2>
         <%out.print(goods.getGoods_desc());%></font></td>
        <td align=center><font size=2>
         <%out.print(goods.getSupplier());%></font></td>
        <td align=center><font size=2>
         <%out.print(int2Str(goods.getIspreferred()));%></font></td>
        
        <td align=center>
         <img src=<%out.print(goods.getGoods_pic());%>  width=40 height=40></td>
        
        <%//当单击购买按钮时,隐藏域中信息将被发送至set_number.jsp页面中%>
        <td><form action="set_number.jsp"  method="post">
        <input type="hidden" name=goods_id 
         value=<%=goods.getGoods_id()%>>
        <input type="hidden" name=goods_name 
         value=<%=goods.getGoods_name()%>>
        <input type="hidden" name=goods_price 
         value=<%=goods.getGoods_price()%>>
        <input type="hidden" name=goods_discount 
         value=<%=goods.getGoods_discount()%>>
        <input type="submit" name="buy"  value="购买">
        </form></td></tr>
        
        <%}%>
        </table>
     
       
      

  2.   

    我用netbeans IDE 将goods_list.jsp 设为默认首页能打开 其他链接显示都正常,但用a href='goods_list.jsp'>继续购物</a> 却什么也显示不出来,我是在本地调试的,和这有关吗? 还是对象数组代码的问题!  
    無賴  能帮我看下不?