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

空对象 session
以下是部分代码
shop.java中的getProduct
Java code

public Product getProduct(int proid){
        Product pro = null;
        if(proid!=0){
            String sqlpro = "SELECT * from product WHERE PROID="+proid;
            rs = exe.query(sqlpro);
            try {
                if(rs!= null){
                    pro = new Product();
                        rs.next();
                        pro.setProid(rs.getInt("PROID"));
                        pro.setContents(rs.getString("CONTENTS"));
                        pro.setDescript(rs.getString("DESCRIPT"));
                        pro.setName(rs.getString("NAME"));
                        pro.setPrice(rs.getDouble("PRICE"));
                        pro.setSalecount(rs.getInt("SALECOUNT"));
                        pro.setSleprice(rs.getDouble("SALEPRICE"));
                        pro.setSortid(rs.getInt("SORTID"));
                        pro.setDate(rs.getDate("SALEDATE"));
                    }
                
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        return pro;
    }


detailServlet
Java code

int proid = Integer.parseInt(request.getParameter("proid"));
        Product pro = new Product();
        pro = shop.getProduct(proid);
        session.setAttribute(Contants.CUR_PRODUECT_KEY, pro);
        response.sendRedirect("detail.jsp");


detail.jsp
Java code

Product pro = new Product();
    pro = (Product)session.getAttribute(Contants.CUR_PRODUECT_KEY);
    String str ="";
    if(pro!=null)
        out.print("not null");
    if(pro == null)
        out.print("go on");


为什么pro为Null

------解决方案--------------------
不行吧 链接只是跳转 并没有触发form的提交 你去detailservlet里面设个断点 个人估计是不会进入detailservlet