问题情况:
1、通过Servlet编写一个下载文件的服务,在拼装文目录路径时,发生了输入流为空的空指针异常,通过分析确定问题代码为:
InputStream is = getServletContext().getResourceAsStream("download/" + filename);
问题的原因是在该在该路径下并没有存在该文件,那么就说明了该路径是错误的,错误时的文件目录情况如下
可见该download文件夹存在于WEB-INF目录下。
错误分析:
对于getServletContext()所指定的路径误认为是WEB-INF下,而正确的路径情况为Web路径
解决方案:
将download文件提取到WEB-INF文件夹之外即可
成功解决