gpt4 book ai didi

java - 下载servlet的doGet()抛出NullPointerException

转载 作者:行者123 更新时间:2023-11-30 11:48:20 25 4
gpt4 key购买 nike

我正在开发一个简单的 Web 应用程序,其中客户端应该能够通过单击 HTML 页面中的超链接来下载 pdf 文件。我正在使用 MVC 模式。下面是我的 Servlet 代码:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("application/pdf");
ServletContext ctx = getServletContext();
InputStream is = ctx.getResourceAsStream("/abc.pdf");

int read = 0;
byte [] bytes = new byte[1024];

OutputStream os = response.getOutputStream();
while((read = is.read(bytes)) != -1)
{
os.write(bytes, 0, read);
}
os.flush();
os.close();
}

我正在使用 Apache Tomcat 6.0

下面是我得到的错误:

SEVERE: Servlet.service() for servlet download threw exception
java.lang.NullPointerException
at BookDownloaderServlet.doGet(BookDownloaderServlet.java:41)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

abc.pdf 正确放置在 application contex 下 。仍然找不到此异常的原因。请帮助。提前致谢

最佳答案

这一行很可能是您的问题:

InputStream is = ctx.getResourceAsStream("/abc.pdf");

is 被分配给 null。它在这里抛出一个异常:

is.read(bytes)

看起来 abc.pdf 文件不存在于您的 CLASSPATH 的根目录中。

关于java - 下载servlet的doGet()抛出NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8860947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com