It is caused by a NULL POINTER exception clearly.

解决方案 »

  1.   

    是空的指针,是不是我的包放错了,具体应放在哪个目录下啊,我以前的包都放在C:\resin1.2.1\doc\WEB-INF\classes没出错过啊!
      

  2.   

    session.getAttribute(BasketBean.BASKET);
    是不是这一句的问题?
      

  3.   

    空指针的问题,自己检查一下看程序中的变量是否有为null的,并且做了其他方法的参数
      

  4.   

    你的jsp有问题,初步认为是你的 basket = (BasketBean)session.getAttribute(BasketBean.BASKET);这一行中,如果basket是null,则后面的basket.getPounds(product)和basket.getStringifiedValue(basket.getTotal())之类的方法就会出NullPointerException
      

  5.   

    应该不是这个问题,应为我在customerservlet.java中已经加入了
    if(basket == null) {
          // New shopper. Create a basket.
          basket = new BasketBean();
          session.setAttribute(BasketBean.BASKET, basket);
        }
    我还是任为是包放错了地方以下是我JSP_PAGE包中的customerservlet.java
    package jsp_paper;import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.IOException;
     
    public class CustomerServlet extends HttpServlet {

        // Forward http get calls to http post handler.
        public void doGet(HttpServletRequest request,
                      HttpServletResponse response) 
           throws ServletException, IOException {
        doPost(request, response);
        }
      
        // Handle customer requests.
        public void doPost(HttpServletRequest request,
                       HttpServletResponse response) 
           throws ServletException, IOException {     // Fetch the session object for this request. 
        HttpSession session = request.getSession(true);
        BasketBean basket = null;

        /*
          Either create a new shopping cart or update
          an existing shopping cart
        */
        basket = (BasketBean)session.getAttribute(BasketBean.BASKET);
        if(basket == null) {
          // New shopper. Create a basket.
          basket = new BasketBean();
          session.setAttribute(BasketBean.BASKET, basket);
        }
        else {
          // Existing shopper. Save current contents of basket.
          basket.savePurchases(request);
        }     RequestDispatcher rd = null;
        String nextPage = request.getParameter(BasketBean.PAGE);

        /* 
          Tightly Coupled Version:
            Depending upon state of customer workflow, select
          next JSP page or end shopping session. The servlet
          is aware of every JSP page in the workflow.
        */     if (nextPage == null || nextPage.equals(BasketBean.UPDATE)) {
          // select from inventory
          rd = getServletConfig().getServletContext()
         .getRequestDispatcher("/jsp/Inventory.jsp");
        }
        else if (nextPage.equals(BasketBean.PURCHASE)) { 
          // provide purchase information
          rd = getServletConfig().getServletContext()
         .getRequestDispatcher("/jsp/Purchase.jsp");
        }
        else if (nextPage.equals(BasketBean.RECEIPT)) {
          // provide purchase information
          rd = getServletConfig().getServletContext()
         .getRequestDispatcher("/jsp/Receipt.jsp");
        }

        // Route request to appropriate JSP page.
        if (rd != null) {
          rd.forward(request, response);
        }
       }
    }
      

  6.   

    NullPointer检查一下所有可能出现null的地方。
      

  7.   

    如果是包放错了的话,出现的应该是ClassNotFound之类的Exception。你在你的jsp中也把你上面的东西加上试试看。即 basket = (BasketBean)session.getAttribute(BasketBean.BASKET);后加上,
    if(basket == null) {
          // New shopper. Create a basket.
          basket = new BasketBean();
    }