org.apache.jasper.JasperException: An exception occurred processing JSP page /product_list.jsp at line 47
44: <%
45: for(int i=0;i 46: {
47: Product p= list.get(i);
48: %>
49:
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.NullPointerException
org.apache.jsp.product_005flist_jsp._jspService(product_005flist_jsp.java:119)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.52 logs.
这个是查询的JSP页面,另外还有一个插入的页面是成功的,但这个查询的不行。老说那行错。
附原码和一些java类:
<%@ 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">
<%@ 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">
查下哪里是不是都有值
<%
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>
<% }
%>
java.lang.NullPointerException 是不是list为空啊
首先你在初始化List的时候,可以用java.util.Collections.EMPTY来初始化,这样可以判断list的size,如果size等于0,就没有值,这样不会报空指针异常
空指针异常,查看下
44: <%
45: for(int i=0;i 46: {
47: Product p= list.get(i);
48: %>
49:
50: <%=p.getProduct_id() %>
p对象是否为空