异常处理-为什么我访问路径报出空指针异常(javaweb)

问题描述

为什么我访问路径报出空指针异常(javaweb)

这是异常提示:

java.lang.NullPointerException
at java.io.FileOutputStream.<init>(FileOutputStream.java:206)
at java.io.FileOutputStream.<init>(FileOutputStream.java:104)

**at com.mifan.web.UpLoadServlet.doGet(UpLoadServlet.java:41)**
at com.mifan.web.UpLoadServlet.doPost(UpLoadServlet.java:57)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1086)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:285)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2439)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2428)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:722)

这是源代码:
public class UpLoadServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    try{
        //创建工厂类  这是阿帕奇提供的那个第三包jar包
        DiskFileItemFactory factory = new DiskFileItemFactory();
        //生产文件上传核心类
        ServletFileUpload fileUpload = new ServletFileUpload(factory);
        List<FileItem> list = fileUpload.parseRequest(request);
        //遍历所有的FileItem
        for(FileItem item : list){
            if(item.isFormField()){
                //当前是一个普通的字段项
                String name = item.getFieldName();//普通字段的名字
                String value = item.getString();  //普通字段名字所对应的值
                System.out.println(name+":"+value);
            }else {//当前是一个文件上传项
                //获取文件上传项的文件名
                String filename = item.getName();
                InputStream in = item.getInputStream();
                OutputStream out = new FileOutputStream(
                        this.getServletContext().getRealPath("upload/"+filename));
                IOUtils.InAndOut(in, out);
                IOUtils.close(in, out);

            }
        }
        //利用文件上传核心类解析request
    }catch (Exception e) {
        e.printStackTrace();
    }
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    doGet(request, response);
}

}

解决方案

Debug 跟一下你就知道哪个为空了。

时间: 2025-01-21 13:34:57

异常处理-为什么我访问路径报出空指针异常(javaweb)的相关文章

java web-javaweb中如何优化图片访问路径

问题描述 javaweb中如何优化图片访问路径 在项目中一般文件和项目本身一般情况是分离的,我想请问一下,项目中如何处理数据盘中的图片访问情况的?例如浏览器直接输入url就可以访问图片了,但是图片实际不在项目目录下,而是在数据盘中!应该不是绝对路径吧? 例如:我的项目在/home/tomcat/ROOT 但是图片在/home/root/data/images/users/1423654334/3.png 解决方案 图片等之源一般放在单独的服务器网站下,进行url映射

PHP Yii开源框架入门学习(二)修改Yii网站访问路径

默认网站访问路径如下所示: http://127.0.0.1:8080/zuizen/index.php?r=admin/UserInfo/admin 这种路径对搜索引擎不友好,需要改成如下形式: http://127.0.0.1:8080/zuizen/admin/UserInfo/admin.html 以下步骤实现以上要求: 1) 修改Apache配置,使其支持重写: 打开Apache配置文件httpd.conf:开启apache的mod_rewrite模块: 去掉LoadModule re

ORACLE执行计划的访问路径

三.访问路径(方法) -- access path 优化器在形成执行计划时需要做的一个重要选择是如何从数据库查询出需要的数据.对于SQL语句存取的任何表中的任何行,可能存在许多存取路径(存取方法),通过它们可以定位和查询出需要的数据.优化器选择其中自认为是最优化的路径. 在物理层,oracle读取数据,一次读取的最小单位为数据库块(由多个连续的操作系统块组成),一次读取的最大值由操作系统一次I/O的最大值与multiblock参数共同决定,所以即使只需要一行数据,也是将该行所在的数据库块读入内存

filter拦截tomcat的默认访问路径

问题描述 filter拦截tomcat的默认访问路径 http://localhost:8080 可以访问到我的项目 index.jsp 我想拦截http://localhost:8080这个请求 filter的url-pattern的应该怎么设置 或者有没有其他的办法 不想用/*来拦截所有请求 我是想问怎么才能拦截到http://localhost:8080这个请求 解决方案 设置Tomcat默认访问路径Tomcat的默认访问路径问题 解决方案二: index.htmlindex.htmind

spring配置-Spring 访问路径配置问题

问题描述 Spring 访问路径配置问题 我项目访问一张图片 spring配置如下 <bean name="/hello" class="com.xtao.controller.HelloController"></bean> <mvc:resources location="/resources/" mapping="/resources/**"/> <bean class=&quo

android-安卓的intent报出空指针异常

问题描述 安卓的intent报出空指针异常 当使用intent的时候报出NullPoiterException,具体是在调用这行代码的时候: int posizione2 =Integer.parseInt((getIntent().getExtras().getString(Intent.EXTRA_TEXT))); 请多指教!谢谢 private void aggiungiImm(View arg1 int arg2) { Intent i=newintent(Intent.ACTION_P

spring mvc-springMVC 访问路径不太清楚

问题描述 springMVC 访问路径不太清楚 刚试了下springMVC,发现使用很简单,但是对路径不是太懂,默认的好像是 localhost:8080/层名/@RequestMapping()中设置的值...是这个样吗?类上也可以加注解,还有其他方法吗? 解决方案 http://127.0.0.1:8080/项目名/类路径/方法路径 其中方法路径可以写成"{param1}/{param2}/methodName"形式,其中大括号括起来的部分可以用@PathVariable注解取值.

java ee-springMVC中jsp页面访问路径404错误?

问题描述 springMVC中jsp页面访问路径404错误? 配置如下 spring-servlet.xml class="org.springframework.web.servlet.view.InternalResourceViewResolver"> Web.xml spring*.do 我在JSP页面的路径是WebContent/views/EnterpriseInfoManag/pollutionBasInfo.jsp controller的代码是: @Control

tomcat-不知道为什么访问不到图片,求帮忙。目录跟访问路径如下图

问题描述 不知道为什么访问不到图片,求帮忙.目录跟访问路径如下图 解决方案 URL地址后的中文会自动转码为URL编码,你可以把图片换成英文图片名 ,例如 :安踏.jsp AnTa.jsp就可以了 解决方案二: 中文问题,你把url用utf8编码一下吧 解决方案三: 楼主 url编码问题 你可以尝试换成英文的 或者对url进行编码 解决方案四: 对url进行编码,URL地址后的中文会自动转码为URL编码,你可以把图片换成英文图片名 解决方案五: 图片用英文命名,或者把URL转码成UTF-8 解决方