Java Servlet:尝试在eclipse中使用Servlet读取pdf文件
我正在尝试使用ServletContext读取该文件`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文件存在于给定的路径中,但
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放在那里。