代码 getallGoods方法
public ArrayList getAllGoods() {
// TODO Auto-generated method stub
Statement stm = DBConnection.getStatement();
String sql = "select * from goods";

System.out.println("sql="+sql);
ArrayList al = new ArrayList();
GoodsBean GB=null;
try {
ResultSet rs = stm.executeQuery(sql);
while (rs.next()){
GB = new GoodsBean();
GB.setGoodsId(rs.getInt("goodsId"));
GB.setGoodsName(rs.getString("goodsName"));
System.out.print(GB.getGoodsName());
GB.setGoodsCount(rs.getInt("goodsCount"));
GB.setGoodsPrice(rs.getInt("goodsPrice"));
GB.setGoodsPlace(rs.getString("goodsPlace"));
al.add(GB);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return al;
}}
Servlet代码
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
        goodsLogical gl = new goodsLogical();
        ArrayList al =gl.getAllGoods();
request.setAttribute("goods",al);
request.getRequestDispatcher("goodsshow.jsp").forward(request, response);
}
goodsshow.jsp代码
<body><form action="DeleteGoodsServlet" method="post">
<h1 align="center">商品列表</h1>
<%ArrayList al=(ArrayList)request.getAttribute("goods");
%>
<table border=1 width=600>
<tr><td>商品编号</td><td>商品名称</td><td>商品价格</td><td>商品数量</td><td>商品产地</td><td>操作</td></tr>
<% for(int i=0;i<al.size();i++){
GoodsBean GB=(GoodsBean)al.get(i);
%>
<tr><td><%=GB.getGoodsId() %></td>
<td><%=GB.getGoodsName() %></td>
<td><%=GB.getGoodsPrice() %></td>
<td><%=GB.getGoodsCount() %></td>
<td><%=GB.getGoodsPlace() %></td>
<%String nameUpdate="1button"+(GB.getGoodsId());%>
<td><input type = "submit"  value = "修改商品信息"></td>
<%String nameDelete="2button"+(GB.getGoodsId());%>
<td><input type="submit"  value="删除商品"></td>
</tr>
<%
}
 %>
</table>
</form>
  </body>
报错
2011-12-7 9:15:23 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.goodsshow_jsp._jspService(org.apache.jsp.goodsshow_jsp:68)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:619)新手求帮助 谢谢了

解决方案 »

  1.   

    java.lang.NullPointerException
    你调用了值为空的对象
    一般是你的传值有问题
      

  2.   

    java.lang.NullPointerException你跟踪一下 你的代码 看看有没有执行成功 ,你在那个request.setAttribute("goods",al);
    前后 写上system.out.println(al);看看 
      

  3.   

      哈哈哈哈  代码 getallGoods方法
    request.getRequestDispatcher("goodsshow.jsp").forward(request, response);
    这行 
     用request.send..开头的方法 。。 一个跳转 一个转发 ,。找下资料