Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.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 从web应用写入属性文件_Java_Jsp_Tomcat_Properties - Fatal编程技术网

Java 从web应用写入属性文件

Java 从web应用写入属性文件,java,jsp,tomcat,properties,Java,Jsp,Tomcat,Properties,我在我的web应用程序中使用属性文件和ResourceBundle类进行国际化(如下所述:) 我现在有了一个动态内容(如用户评论)的属性文件,我想在部署web应用程序时更新(即:写入) 这个话题已经讨论过了,主要是: (我的具体情况见最后一段) 有人能详细说明我将如何以及为什么将属性文件放在web应用程序之外吗。 而且 1) 这对通过ResourceBundle.getBundle()方法访问该文件有什么影响(如果属性文件在web应用程序之外,则使用“packagename.filename”访

我在我的web应用程序中使用属性文件和ResourceBundle类进行国际化(如下所述:)

我现在有了一个动态内容(如用户评论)的属性文件,我想在部署web应用程序时更新(即:写入)

这个话题已经讨论过了,主要是: (我的具体情况见最后一段)

有人能详细说明我将如何以及为什么将属性文件放在web应用程序之外吗。 而且

1) 这对通过
ResourceBundle.getBundle()
方法访问该文件有什么影响(如果属性文件在web应用程序之外,则使用“packagename.filename”访问该文件将不再有效)


2) 我想写入属性文件,但我不确定如何定位它(以便在web服务器上部署应用程序时它可以工作)。现在,我只是在项目的“build”文件夹中找到属性文件。但我知道,当我部署时,项目的所有文件都将在tomcat中的“文档根目录”下。是否有一种方法可以定位该文件,以便它在部署时也能正常工作?(现在属性文件既存在于
build
文件夹中,也存在于
src
文件夹中)

为什么要将用户注释存储在属性文件中?动态内容属于动态存储,例如,可能不是一个文件。这将是一个混乱的原因有很多。Tomcat缓存使用
ClassLoader.getResource
(etc)完成的资源获取,
ResourceBundle
。我同意@DaveNewton:这是错误的方法。谢谢你的回答。我选择使用属性文件的原因仅仅是为了保持一致性:因为我的所有其他国际化都是通过属性文件/resourceBundle完成的,所以我在这里也这样做(我希望用户的评论能够以站点的各种语言提供)。你对另一种选择有什么建议吗?只要简单地放在我的数据库中,就需要显式地测试语言环境(ResourceBundle类很方便,因为它不需要显式测试)。为什么要将用户注释存储在属性文件中?动态内容属于动态存储,例如,可能不是一个文件。这将是一个混乱的原因有很多。Tomcat缓存使用
ClassLoader.getResource
(etc)完成的资源获取,
ResourceBundle
。我同意@DaveNewton:这是错误的方法。谢谢你的回答。我选择使用属性文件的原因仅仅是为了保持一致性:因为我的所有其他国际化都是通过属性文件/resourceBundle完成的,所以我在这里也这样做(我希望用户的评论能够以站点的各种语言提供)。你对另一种选择有什么建议吗?只要简单地放在我的数据库中,就需要对locale进行显式测试(ResourceBundle类很方便,因为它不需要这种显式测试)。