java - 我应该在哪里放置要在 Java Web 应用程序项目中下载的 pdf?

标签 java maven jakarta-ee web

我有一个maven目录结构:

 /src

    /main

        /java 
        /resources 
        /webapp 

因此,如果我将文件放在/resources 下,当我将应用程序部署到 tomcat 时,文件最终位于:webapps/applicationRoot/WEB-INF/classes/xx.pdf

如果我输入 webapp/那么它最终会出现在 webapps/applicationRoot/xx.pdf

如果我在 webapp 下创建一个文件夹,如 webapp/myResources,它最终会在:webapps/applicationRoot/myResources/xx.pdf

我认为第二个看起来最漂亮,因为在代码中我可以说:

    InputStream is = servletContext.getResourceAsStream("/re.pdf");

如何在我的 servlet 中获取案例 1 中的 pdf 文件?

还有,哪个是标准的?我应该使用哪个?

最佳答案

如果您将 pdf 放在 webapp/bla/my.pdf 下,用户可以在他的浏览器中直接从 http://{yoursercer}/{contextroot}/bla/my.pdf 访问它。那是你要的吗?那就放那儿吧。

如果您希望您的 Java 代码可以访问 PDF,请将其放在资源下。它不能直接从浏览器访问。

关于java - 我应该在哪里放置要在 Java Web 应用程序项目中下载的 pdf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19478894/

相关文章:

java - 我的 Paint 方法运行了两次,我不知道为什么。我该如何解决这个问题,有人知道为什么会这样吗?

java - 为什么这个 while 循环在 roll and roll 2 之后不停止?

java - 使用 Java 将时间和日期插入数据库时​​出现问题

maven - 使用两个数据库的maven的liquibase无法正常工作

java - 如何从同一 GlassFish Server 上的另一个应用程序注入(inject) EJB?

java - 如何在 Java 中的 Aspose Word 中更改现有表格单元格的字体颜色?

java - maven clean 和 eclipse clean 的区别

java - Ejb 从 jar 返回 CustomClass

jakarta-ee - 根据条件注入(inject)@EJB bean

java - 实现客户端-服务器,GUI StringBuilder 问题