删除图片出现空指针异常
Integer pid = Integer.parseInt(request.getParameter("pid"));
ProductService productService = new ProductServiceImpl();
productService.delete(pid);
//删除图片
Product product = productService.findOne(pid);
String path = product.getPath();
if(path != null && "".equals(path)) {
String realPath = this.getServletContext().getRealPath(path);
File file = new File(realPath);
if(file.exists()) {
file.delete();
System.out.println("删除成功");
}
}-----------------------------------------------------------------------------------------
二月 13, 2020 7:00:18 下午 org.apache.catalina.core.StandardWrapperValve invoke 严重: 在路径为[/shop]的上下文中,servlet[com.imooc.web.action.ProductServlet]的Servlet.service()引发异常 java.lang.NullPointerException at com.imooc.web.action.ProductServlet.delete(ProductServlet.java:57) at com.imooc.web.action.ProductServlet.doGet(ProductServlet.java:45) at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.imooc.web.filter.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:37) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:609) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:810) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1623) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)
27
收起
正在回答
1回答
同学你好
空指针异常是指有值为null的对象去调用方法了,因为同学没有告知报错提示的行数具体是哪行代码,老师这里无法准确的告知是哪个地方为null
请同学根据报错行数

定位一下具体这行的哪个值是null,并追根溯源,查看一下它为什么是null,与
https://class.imooc.com/course/qadetail/192054 问答中的问题无关。
以后遇到类似的空指针异常,同学可以用这个方法先检查一下哦。
如果我的回答解决了你的问题,请采纳,祝学习愉快.
3. Java 数据库开发与实战应用
- 参与学习 人
- 提交作业 357 份
- 解答问题 8016 个
本阶段将带你学习MySQL数据库,JDBC接口,MyBatis框架等,带你掌握的数据的存放和管理。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星