Java占位符: reference to webapp folder

标签 java web-applications file-upload location classpath

我正在构建一个用于上传内容的网络应用程序。目前,我正在使用一个属性文件,在其中定义一些变量,其中包含我想要存储文件的一些文件夹的路径。这些路径引用我的文件系统中的文件夹。

P1:由于我想让我的应用程序更加便携,因此我决定将上传的内容存储在项目类路径内的某个文件夹中,但我在占位符中使用的路径不起作用。

#path.images=C:/uploads/images    

#path.images=classpath:/webapp/uploads/images     (NOT working)

问题1:如果可能的话,我想知道我是否将内容存储在正确的位置(在 webapp 目录内)。

注意:我进行这些更改也是因为我试图替换 FileInputStreamgetResourceAsStream() .

任何帮助将不胜感激。

最佳答案

没有;未与应用程序一起部署的 Assets 应存储在其他地方。

通常,这样的资源应该属于可配置的外部目录。配置机制包括 JNDI、上下文/初始化参数、环境变量或系统变量。

将 Assets 保留在 Web 应用程序中并不是一个好主意,原因有多种,其中最大的原因是:

  1. 如果应用程序部署为 war 文件,您无论如何都无法写入 war 文件,并且
  2. 您的 Assets 受部署机制的支配,并且可能会被覆盖。

将它们保存在已知良好的位置,然后将它们流式传输回来,通过容器配置访问权限,或使用各种 CDN 机制中的任何一种来提供访问权限。

关于Java占位符: reference to webapp folder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14585056/

相关文章:

jquery - C# - FormData 是什么对象类型

asp.net - 文件上传在 jQuery UI 对话框中不起作用

java:类似C的选项参数

java - Android:使用属性时出现空指针异常

iPhone 配置实用程序 - 为 webapp 添加 webclip

css - Android Webapp 隐藏滚动条?

java - 在抛出旧异常的同时抛出新异常

java - Eclipse:设置 org.osgi.framework.system.packages.extra 以在 osgi 类加载器中包含 javafx 不起作用

java - Spring - 没有可用于当前线程的实际事务的 EntityManager - 无法可靠地处理 'persist' 调用