请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

第八章测试空指针异常add.do,

java.lang.NullPointerException
com.mmall.service.impl.CartServiceImpl.getCartVoLimit(CartServiceImpl.java:151)
com.mmall.service.impl.CartServiceImpl.list(CartServiceImpl.java:83)
com.mmall.service.impl.CartServiceImpl.add(CartServiceImpl.java:57)
com.mmall.controller.portal.CartController.add(CartController.java:45)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:214)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:748)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:945)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:931)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:822)
javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:807)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)


note The full stack trace of the root cause is available in the Apache Tomcat/7.0.78 logs.

复制了老师的代码试了一遍,还是抛出空指针异常

正在回答

2回答

Geely 2017-07-02 21:12:59

hi 同学,你的151行和咱们项目的代码不一样呢,

npe很正常,这块应该是数据造成的,可以debug一下,看看在执行过程中哪里是null,适当的加空判断,或者看看是不是db中某个id没找到,把db的数据修复一下?

这个按照我的思路解决你还能学到很多。加油

0 回复 有任何疑惑可以回复我~
eJhinilly 2017-08-11 15:03:53

我也是这样,看了一下debug,product为null,就是因为第一次add.do的时候加了productId为1的,但是productId并没有为1的,Product product = productMapper.selectByPrimaryKey(cartItem.getProductId());查询的product为空,cartTotalPrice = BigDecimalUtil.add(cartTotalPrice.doubleValue(),cartProductVo.getProductTotalPrice().doubleValue());中cartProductVo.getProductTotalPrice().doubleValue()为所以异常,但是因为数据库加入了进去这个cart,所以以后查询的时候都会报空指针异常,所以数据中把这个productId为1的cart删除即可

6 回复 有任何疑惑可以回复我~
  • Geely #1
    赞赞赞
    回复 有任何疑惑可以回复我~ 2017-08-11 22:18:49
  • 厉害了,我也是这个bug,删除了就好了,谢谢
    回复 有任何疑惑可以回复我~ 2017-12-14 00:17:17
  • 哇塞,终于找到了,我都懵逼一下午了,终于知道哪里不对了,感谢这位回答的童鞋。
    回复 有任何疑惑可以回复我~ 2017-12-26 17:30:14
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信