book定义过没有
String itemIsbn=request.getParameter("isdn");中是isbn吧?

解决方案 »

  1.   

    有啊
    if(!"BY_ISBN".equals(request.getAttribute("type")))
       {
       Collection<Book> books =(Collection<Book>)request.getAttribute("book");
          if(books==null){
          return;
          }
          Iterator<Book> ibooks=books.iterator();
       while(ibooks.hasNext()){
       Book book=ibooks.next();
    我在那个JSP页面中有这些代码啊
      

  2.   

    应该book的作用范围有问题,你这里的book是局部变量,未必能覆盖下面的引用
    另外我觉得你可能有控件叫"isbn"而不是"isdn",可能这里有手误
      

  3.   

    java.lang.NullPointerException把完整的错误信息发上来
      

  4.   

    at shiyin.bookShop.servlet.ShoppingCartServlet.doAdd(ShoppingCartServlet.java:94)
    at shiyin.bookShop.servlet.ShoppingCartServlet.service(ShoppingCartServlet.java:49)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at shiyin.bookShop.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:18)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
    at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:834)
    at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:640)
    at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1286)
    at java.lang.Thread.run(Thread.java:619)
      

  5.   


      <table border="1">
    <%
       if(!"BY_ISBN".equals(request.getAttribute("type")))
       {
       Collection<Book> books =(Collection<Book>)request.getAttribute("book");
          if(books==null){
          return;
          }
          Iterator<Book> ibooks=books.iterator();
       while(ibooks.hasNext()){
       Book book=ibooks.next();
      
    %>
    <tr>
    <td><%=book.getIsbn() %></td>
    <td><%=book.getTitle() %></td>
    <td><%=book.getAuthor() %></td>
    <td><%=book.getPrice() %></td>
    <td><a href="shoppingCart?operation=addItem&isbn=<%=book.getIsbn() %>">加入购物车</a></td>
    </tr>
    <%
    }
     %>
      </table>
    以上代码运行是可以查询到BOOK的 只是一点“加入购物车”后就不能传递给后台的Servlet
      

  6.   

    而且浏览器的地址栏上也显示http://localhost:8080/bookShop/shoppingCart?operation=addItem&isbn=978-7-121-03655-2
      

  7.   

    之后就显示这样的代码java.lang.NullPointerException
    shiyin.bookShop.servlet.ShoppingCartServlet.doAdd(ShoppingCartServlet.java:94)
    shiyin.bookShop.servlet.ShoppingCartServlet.service(ShoppingCartServlet.java:49)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    shiyin.bookShop.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:18)
      

  8.   

    你的页面能找的到Servlet吗?
    在你Servlet打印一句话看看
      

  9.   

    我知道什么原因了我把String operation=request.getParameter("operation");写成String operation=request.getParameter("opereation");String itemIsbn=request.getParameter("isbn");又写成String itemIsbn=request.getParameter("isdn");一字这差啊!!!谢谢各位的帮助。太感谢了。以前书看得很多,就是比较少写代码,经验不足。呵呵。
      

  10.   

    大哥看清楚!!!
    <a href="shoppingCart?operation=addItem&isbn=<%=book.getIsbn() %>">加入购物车</a>
    在后台Servlet中有接收代码
    Java code
    String operation=request.getParameter("opereation");
    String itemIsbn=request.getParameter("isdn");标红的地不一样!!!