Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Servlet:尝试在eclipse中使用Servlet读取pdf文件_Java - Fatal编程技术网

Java Servlet:尝试在eclipse中使用Servlet读取pdf文件

Java Servlet:尝试在eclipse中使用Servlet读取pdf文件,java,Java,我正在尝试使用ServletContext读取该文件` InputStream is = servletContext.getResourceAsStream(path) 路径的值为: path = D:\Assignments\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\HelpGuide\GeneratedReports\userDetail.pdf` userDetail.pdf文件存在于给定的路径中,但

我正在尝试使用ServletContext读取该文件`

InputStream is = servletContext.getResourceAsStream(path)
路径的值为:

path = D:\Assignments\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\HelpGuide\GeneratedReports\userDetail.pdf`

userDetail.pdf
文件存在于给定的路径中,但是当我尝试使用如上所述的servlet上下文定义将资源获取为流时,
的值为
为空。

正如servlet告诉您的,这是一个非常糟糕的主意

将该PDF放入类路径(例如WAR的WEB-INF/classes)中,并从servlet上下文将其作为输入流读取


绝对路径是web应用程序的错误选择。

正如servlet告诉您的那样,这是一个非常糟糕的主意

将该PDF放入类路径(例如WAR的WEB-INF/classes)中,并从servlet上下文将其作为输入流读取


绝对路径是web应用程序的错误选择。

这是因为getResourceAsStream查找相对于上下文根的路径。 签出servlet上下文的javadoc,特别是“getResource”部分:
您应该使用相对路径并将pdf放在类路径中,这将是一个更好的做法,因为您的应用程序将不依赖绝对路径。

这是因为getResourceAsStream查找相对于上下文根的路径。 签出servlet上下文的javadoc,特别是“getResource”部分:
您应该使用相对路径并将pdf放入类路径,这将是一种更好的做法,因为您的应用程序不会依赖绝对路径。

但这是eclipse ide,如果我将文件放入WEB-INF,那么文件路径是什么?请参阅我的答案,但是这就是为什么您应该使用相对路径而不是绝对路径。绝对文件路径是从
getServletContext().getRealPath(“fileName”)
method获取的。先生,如何处理eclipse,在eclipse中WEB-INF中没有classes文件夹?是的。您认为您的serlvet.class文件编译到哪里?创建一个您可以看到的文件并将您的PDF放在那里。但这是eclipse ide,如果我将文件放在WEB-INF中,那么文件路径是什么?请参阅我的答案,但这就是为什么您应该使用相对路径而不是绝对路径。绝对文件路径是从
getServletContext().getRealPath(“文件名”)
method.sir获取的,如何处理eclipse,在eclipse中WEB-INF中没有classes文件夹?是的。您认为您的serlvet.class文件编译到哪里?创建一个你可以看到的,并把你的PDF放在那里。