访问Java Web项目中的动态资源

时间:2014-02-24 18:48:08

标签: java maven tomcat resources

我有一个Java Web项目,我使用Maven将“src / main / resources”和“src / main / java”文件夹作为默认源文件夹。该项目实际上是一个RESTful Web服务,我使用Jersey来处理REST资源和api调用。

在api(用于测试)中调用导出一些图像和xml文件(使用Photoshop Scripting),使用这些xml文件在数据库中插入数据,然后将成功消息返回给客户端。之后,客户端应该能够使用api获取这些图像。

问题是我正在将图像和xml文件导出到src / main / resources文件夹,如果我清理/重新发布或重新启动它,服务器(Tomcat)只能访问这些新文件,而我猜我不能通过代码来做到这一点。此外,由于服务器无法访问新导出的xml文件,因此无法更新数据库。

正因为如此,我尝试了一种不同的方法,即将图像和xml文件放在已部署资源的webapp文件夹中(以及网页)。它起作用,因为服务器不需要重新启动来读取新文件。但是,在这种情况下,我使用绝对路径来访问xml文件以更新数据库。我搜索了如何使用相对路径访问webapp文件夹中的文件,但没有找到任何内容。

  • 首先,上述哪种解决方案最适合使用?

  • 如果将文件导出到资源文件夹更好,如何在不重新启动服务器的情况下访问新文件?

  • 如果将images / xml文件放在webapp文件夹中更好,我如何使用相对路径访问它们?

P.S。:当我导出图像和xml文件时,我使用photoshop脚本中的绝对路径将它们放入 src / main / resources文件夹或webapp文件夹。

1 个答案:

答案 0 :(得分:2)

源文件夹未部署到您的服务器(我希望),'webapp'文件夹也不是一个好位置,因为它可能在另一个部署中被删除。您应该始终划分应用程序和数据。因此,只需定义服务器可以读/写数据的外部目录。

相关问题