HTTP Status 500 - An exception occurred processing JSP page /product_list.jsp at line 47

 

<%@ page language="java" import="java.util.*,com.eshore.pojo.Product" contentType="text/html; charset=UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ page import="com.eshore.factory.DAOFactory" %>

<%
request.setCharacterEncoding("utf-8");
 %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>查询产品列表</title>
 <meta http-equiv="pragma" content="no-cache">
 <meta http-equiv="cache-control" content="no-cache">
 <meta http-equiv="expires" content="0">   
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 <meta http-equiv="description" content="This is my page">
 <!--
 <link rel="stylesheet" type="text/css" href="styles.css">
 -->
  </head>
 
  <body>
 <% 
 String product_name = request.getParameter("product_name");
 List<Product> list= DAOFactory.getIEmpDAOInstance().findAll(product_name);

  %>
  <form action="product_list.jsp" method="post">
     请输入产品名称<input name="product_name"/>
     <input type = "submit" value = "提交">
  </form>
  <table border = "1">
   <tr>
    <td>产品编号</td>
    <td>产品名称</td>
    <td>产品价格</td>
    <td>产品信息</td>
   </tr>
   <% 
    for(int i=0;i<3;i++)     
   {
    Product p= list.get(i);   
   %>
    <tr>
    <td><%=p.getProduct_id() %></td>
    <td><%=p.getProduct_name() %></td>
    <td><%=p.getPrice() %></td>
    <td><%=p.getInfo() %></td>
   </tr>
   <% }
   %>
  </table>
    </body>
</html>

以下是两个相关包

 

package com.eshore.factory;
 import com.eshore.dao.ProductDao;
 import com.eshore.service.ProductService;
public class DAOFactory {
 public static ProductDao getIEmpDAOInstance() throws Exception{
  return new ProductService();
 }

}

 

 

package com.eshore.pojo;

 

public class Product {
private static final long serialVersionUID = 1L;
private String product_id;
private String product_name;
private double price;
private String info;

public Product(){
 super();
}

public String getProduct_id() {
 return product_id;
}

public void setProduct_id(String product_id) {
 this.product_id = product_id;
}

public String getProduct_name() {
 return product_name;
}

public void setProduct_name(String product_name) {
 this.product_name = product_name;
}

public double getPrice() {
 return price;
}

public void setPrice(double price) {
 this.price = price;
}

public String getInfo() {
 return info;
}

public void setInfo(String info) {
 this.info = info;
}

public static long getSerialversionuid() {
 return serialVersionUID;
}
 

}

 

 

package com.eshore.dao;
 import java.sql.*;
 import java.util.*;
 import com.eshore.pojo.Product;
 
public class ProductDaoImpl implements ProductDao {
 private Connection conn = null;
 private PreparedStatement pstmt = null;
  public ProductDaoImpl(Connection conn){
   this.conn = conn;
  }
 
  public boolean addProduct(Product product) throws Exception{
   boolean flag = false ;
   String sql =" insert into product(product_id,product_name,price,info) values(?,?,?,?)";
   this.pstmt = this.conn.prepareStatement(sql);
   this.pstmt.setString(1,product.getProduct_id());
   this.pstmt.setString(2,product.getProduct_name());
   this.pstmt.setDouble(3,product.getPrice());
   this.pstmt.setString(4,product.getInfo());
   
    if (this.pstmt.executeUpdate()>0) { flag = true; }
    this.pstmt.close();
    return flag;
    
  }
 
  public List<Product> findAll(String product_name) throws Exception{
   List<Product> list = new ArrayList<Product>();
   String sql = "select product_id,product_name,price,info from product";
    if(product_name!=null&&!"".equals(product_name)){
     sql = "select product product_id,product_name,price,info from product where product_name like? ";
     this.pstmt.setString(1, "%" + product_name + "%" );
     
    }
    else {
     this.pstmt = this.conn.prepareStatement(sql);
    }
   ResultSet rs = this.pstmt.executeQuery();
   Product product = null;
    while (rs.next()){
     product = new Product();
     product.setProduct_id(rs.getString(1));
     product.setProduct_name(rs.getString(2));
     product.setPrice(rs.getDouble(3));
     product.setInfo(rs.getString(4));
     list.add(product);
    }
   this.pstmt.close();
   return list;
  }
 
 
  public Product findByProductId(String product_id) throws Exception{
   Product product = null;
   String sql ="select product_id,product_name,price,info from product where product_id =?";
   this.pstmt = this .conn .prepareStatement(sql);
   this.pstmt.setString(1, product_id);
   ResultSet rs = this.pstmt.executeQuery();
    if (rs.next()) {
    product = new Product();
    product.setProduct_id(rs.getString(1));
       product.setProduct_name(rs.getString(2));
     product.setPrice(rs.getDouble(3));
     product.setInfo(rs.getString(4));
    }
   this.pstmt.close();
   return product ;
  }
}

慕工程4248865
浏览 2813回答 3
3回答

黑女2008

 List<Product> list= DAOFactory.getIEmpDAOInstance().findAll(product_name);看下这个list有没有取到值,怀疑没有取到值

慕工程4248865

其他都是不报错的,然后我还有俩JSP页面,添加数据进入数据库的那个JSP是可以的,但是这个查询的却报了这个我怎么找都找不出错的错。
打开App,查看更多内容
随时随地看视频慕课网APP