第八章测试空指针异常add.do,
来源:9-6 购物车模块所有功能自测
青_507_1120
2017-06-30
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回答
-
hi 同学,你的151行和咱们项目的代码不一样呢,
npe很正常,这块应该是数据造成的,可以debug一下,看看在执行过程中哪里是null,适当的加空判断,或者看看是不是db中某个id没找到,把db的数据修复一下?
这个按照我的思路解决你还能学到很多。加油
00 -
eJhinilly
2017-08-11
我也是这样,看了一下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删除即可
642018-04-22
相似问题