type Exception report
message
description The server encountered an internal error that prevented it from fulfilling this request.
exception
java.lang.NullPointerException
com.eshore.action.GoodServlet.doPost(GoodServlet.java:56)
com.eshore.action.GoodServlet.doGet(GoodServlet.java:26)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
com.eshore.filters.EncodeFilter.doFilter(EncodeFilter.java:45)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.30 logs.
Apache Tomcat/7.0.30
2.goodservlet代码
package com.eshore.action;
import java.io.IOException;
import java.util.Vector;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.eshore.factory.DAOFactory;
import com.eshore.pojo.Goods;
/**
商品的Servlet类
*/
@WebServlet(
urlPatterns = { "/goods" },
name = "goodsServlet"
)
public class GoodServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//判断action类型
String action=request.getParameter("action");
String path=null;
Vector gVector=new Vector();
try{
if(action.equals("index-select")){//查询商品列表
String keyWord=request.getParameter("keyWord");//获取查询的输入值
String keyClass=request.getParameter("keyClass");//获取查询类别
gVector=DAOFactory.getGoodDAOInstance().//获得所有商品
queryAll(keyWord, keyClass);
request.setAttribute("goods", gVector);
path="goods/goodslist.jsp";
}else if(action.equals("goodslist-select")){//指定商品列表
Goods good=new Goods();
String sid=request.getParameter("sid");//获得商品的id
gVector=DAOFactory.getGoodDAOInstance().//获得指定的商品对象
queryGoodBySid(Integer.valueOf(sid));
if(gVector.size()>0&&gVector!=null)
good =(Goods)gVector.get(0);
request.setAttribute("good", good);
path="goods/good.jsp";
}
}catch(Exception e){
e.printStackTrace();
}
request.getRequestDispatcher(path).forward(request, response);
}
}
调试下,从错误信息看,是有变量为null,比如request.getParameter("xxx")这里有没有获得参数
你看下表里面有字段为非空,前面是空的,用debug看看,那个值为null了,或者开日志文件看下运行信息,就知道了
空指针异常,看页面与servlet之间传值的 名称 是否一致!
最底层的异常信息就是GoodServlet.java:56)这个类的56行,看看对象.操作有什么对象可能为空。
说时候,Java的空指针异常是最好解决的的了。自己调试下吧,少年。