老师看下这是什么问题?

老师看下这是什么问题?

Exception
java.lang.NullPointerException
	sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1838)
	sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
	java.lang.Double.parseDouble(Double.java:538)
	com.imooc.web.action.ProductServlet.save(ProductServlet.java:49)
	com.imooc.web.action.ProductServlet.doGet(ProductServlet.java:36)
	com.imooc.web.action.ProductServlet.doPost(ProductServlet.java:81)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
private void save(HttpServletRequest request, HttpServletResponse response) throws IOException {
  
  Map<String,String> map = UploadUtils.uploadFile(request);
  
  Product product = new Product();
  product.setPname(map.get("pname"));
  product.setAuthor(map.get("author"));
  product.setPrice(Double.parseDouble(map.get("price")));
  product.setDescription(map.get("description"));
  product.setFilename(map.get("filename"));
  product.setPath(map.get("path"));
  product.getCategory().setCid(Integer.parseInt("cid"));
  ProductService productService = new ProductServiceImpl();
  productService.save(product);
  response.sendRedirect(request.getContextPath()+"/ProductServlet?method=findAll");
 }


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,

这里报空指针异常是指有值为null的对象去调用方法了,同学看看49行具体是哪刚代码呢?

看一下是否对于的值为null呢?然后跟踪一下为什么会是null。

http://img1.sycdn.imooc.com//climg/5e3e5a9609a0c45906460235.jpg

因为老师无法定位具体是哪行代码报错了,所以同学可以先用上边的方法追踪一下,如果还是没有解决,请同学提供一下报错的具体是哪行,跳转到这个save方法之前的是什么页面或者代码也贴一下。


如果我的回答解决了你的问题,请采纳,祝学习愉快.

  • 慕圣7256090 提问者 #1
    com.imooc.web.action.ProductServlet.save(ProductServlet.java:49) 是这个代码 product.setPrice(Double.parseDouble(map.get("price"))); 从product_add.jsp 点击保存跳转 <div class="section row"> <div class="col-md-2"></div> <div class="col-md-1"> <label for="sn" class="field prepend-icon"> <label for="sn" class="field-icon"> 价格 </label> </label> </div> <div class="col-md-6"> <label for="sn" class="field"> <input name="price" class="gui-input" placeholder="价格" type="text" value=""/> </label> </div> </div>
    2020-02-08 15:28:32
  • 好帮手慕阿莹 回复 提问者 慕圣7256090 #2
    同学你好,还请同学输出一下map,可以分别输出一下map中的其他值,看看是否也为null呢?如果是,建议检查一下UploadUtils是否成功的把值set到了map中呢?如果没有看出问题,可以把UploadUtils的代码也贴一下哦。老师帮你看一下。 ,不要在回复里贴代码,可以在回答中贴代码,不然可能代码会失去格式。 祝学习愉快。
    2020-02-08 19:29:18
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师