首页 / 知识
在Java Web应用程序(WAR)中存储配置文件的最佳位置是什么?
2023-04-17 08:53:00

What is the best place to store a configuration file in a Java web application (WAR)?我创建一个Web应用程序(WAR)并将其部署在Tomcat上。 在webapp中,有一个带有表单的页面,管理员可以在其中输入一些配置数据。 我不想将此数据存储在DBMS中,而只是存储在文件系统上的XML文件中。 放在哪里? 我想将文件放在部署应用程序本身的目录树中的某个位置。 我的配置文件应该在WEB-INF目录中吗? 还是放在其他地方? 在servlet中使用Java代码查找目录的绝对路径是什么? 还是可以通过相对路径访问它? 我们要做的是将其放置在服务器上的单独目录中(您可以使用/ config,/ opt / config,/ root / config,/ home / username / config之类的东西,或任何您想要的东西)。当我们的servlet启动时,它们读取XML文件,从中获取一些东西(最重要的是数据库连接信息),仅此而已。 我问为什么我们要这样做一次。 将所有内容存储在数据库中会很好,但是显然您不能在数据库中存储数据库连接信息。 您可以对代码中的内容进行硬编码,但是由于许多原因,这很难看。如果必须更改信息,则必须重新构建代码并重新部署。如果有人获得了您的代码或WAR文件的副本,那么他们将获得该信息。 将内容放在WAR文件中看起来不错,但是如果您想进行很多更改,则可能不是一个好主意。问题是,如果您必须更改信息,那么下次重新部署它时,它将覆盖该文件,因此您忘记存储在WAR中的版本中所做的任何更改都将被忘记。 文件在文件系统上的特殊位置对我们来说效果很好。它没有太大的缺点。您知道它在哪里,它分开存储,如果它们都需要不同的配置值(因为它不是WAR的一部分),则使部署到多台计算机变得容易。 我能想到的唯一可行的解??决方案是将除数据库登录信息以外的所有内容保留在数据库中。那将来自通过JVM检索的Java系统属性。这是Hans Doggen上面提到的Preferences API。我不认为它是在第一次开发我们的应用程序时出现的,如果没有使用的话。 至于访问配置文件的路径,它只是文件系统上的一个文件。您无需担心网络路径。因此,当您的servlet启动时,只需在" /config/myapp/config.xml"(或其他位置)中打开文件,它将找到正确的东西。硬编码该路径对于我来说似乎是无害的。 WEB-INF是放置配置文件的好地方。这是一些代码,用于从Servlet获取目录的绝对路径。
将其放在 我不会将其存储在应用程序文件夹中,因为那样会用新的应用程序部署覆盖配置。 我建议您看看Preferences API,或在users文件夹(运行Tomcat的用户)中写一些东西。 答案取决于您打算如何读取和写入该配置文件。 例如,Spring框架使您能够使用XML配置文件(或Java属性文件)。这些可以存储在您的类路径中(例如,在WEB-INF目录中),文件系统上的其他任何位置,甚至是内存中。如果要为此使用Spring,那么最简单的存储配置文件的位置就是WEB-INF目录,然后使用Spring的ClassPathXmlApplicationContext类访问您的配置文件。 但是同样,这完全取决于您打算如何访问该文件。 如果这是您的自定义配置,则WEB-INF是一个不错的选择。但是某些库可能需要配置才能驻留在WEB-INF / classs中。 |
最新内容
相关内容
linux配置文件夹命令?
linux配置文件夹命令?,地址,系统,工作,信息,命令,标准,服务,名称,位置,文件,linux中怎么添加或修改配置文件1、首先打开一台linux虚拟机。输入linux内置命令位置?
linux内置命令位置?,工作,系统,信息,地址,位置,标准,命令,目录,密码,名字,Linux系统常用操作命令有哪些1、linux常用命令: pwd命令 该命令的linux命令防火墙位置?
linux命令防火墙位置?,系统,服务,软件,密码,状态,位置,防火墙,工具,公共,设备,LINUX系统怎么关闭防火墙1、打开linux系统,在linux的桌面的空白linux光标位置命令?
linux光标位置命令?,位置,光标,时间,系统,状态,终端,命令,程序,文件,菜单,linux下编辑文件时如何定位光标到文件末尾1、首先登录到Linux系统。linux命令文件换位置?
linux命令文件换位置?,位置,财务,系统,公司,名称,目录,文件,命令,一致,工作,linux怎么将一个文件移动到另一个目录下1、如果目标文件是到某一linux命令参数位置?
linux命令参数位置?,工作,系统,命令,信息,标准,状态,位置,地址,文件,简介,linux系统常用操作命令linux常用命令有pwd命令、cd命令、ls命令、calinux命令和应用程序?
linux命令和应用程序?,软件,系统,环境,管理,基础,情况,位置,电脑,工具,中心,在linux下如何装应用程序?需要什么命令啊首先从官网下载hdf5,根据linuxsu命令位置?
linuxsu命令位置?,系统,地址,环境,管理,位置,工作,命令,密码,信息,用户,linux切换用户命令1、打开系统中的终端命令框。使用whoami命令查看当python创建一个集合?
python创建一个集合?,异常,代码,括号,元素,函数,方法,两个,整数,操作,字符串,在Python中,集合是一种无序且不重复的数据类型,可以用于存储一组元测试Python selenium自动提交表单
测试Python selenium自动提交表单,密码,数据,培训,按钮,内容,操作,用户名,页面,测试,都会,运行步骤我们通过PythonIDLE一步步来运行,这有助于关于 Python 配置文件的使用方法
关于 Python 配置文件的使用方法,代码,灵活,项目,名字,培训,模块,程序,方式,内容,用户,很多项目对配置文件的使用做法是:配置文件写在一个或python如何读取列表中元素的位置?
python如何读取列表中元素的位置?,位置,数据,异常,培训,字符串,元素,索引,方法,示例,结果,python读取列表中元素位置的方法:1、使用index()方