文章标题

来源:互联网 发布:php session同步 编辑:程序博客网 时间:2024/06/08 09:49

javaweb基础

文件下载相关代码:

这里写图片描述

异常:

严重: Servlet.service() for servlet [Download] in context with path [/helloapp] threw exceptionjava.lang.NullPointerException    at mypack.DownloadServlet.doGet(DownloadServlet.java:32)    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)    at java.lang.Thread.run(Thread.java:619)

解决方法:做文件下载时,将客户请求的文件放在tomcat服务器相关项目根目录下,而不是myeclipse中的项目目录下。否则会在读出文件时报空指针异常。因为myeclipse只是为了开发的方便,保存相关代码。但客户请求文件时,是在tomcat服务器的目录下查找,而不是在myeclipse的项目工程目录下查找。
若是“/”开头,则表明文件是在该项目(已发布在tomcat的/webapps目录下)的根目录下,比如在项目“helloapp”中,路径“/store/count.txt”就是说store文件夹创建在helloapp的根目录下。其完整路径表示为“/webapps/helloapp/store”,count.txt则在store文件夹的根目录下。

原创粉丝点击