java - 在应用程序服务器上部署 Web 应用程序。数据库访问凭证

标签 java tomcat

我有一个手动部署在 Tomcat 服务器上的 Web 应用程序。

我的带有数据库凭据的属性文件不在类路径中。在启动时我像这样加载它:

prop.load(new FileInputStream("C:\\application.property"));

缺点是现在我可以将我的代码移动到基于 linux 的平台而无需更改源代码。

如果我将此文件放入类路径,它将被打包到 war 中(包含所有凭据)并在我每次重新部署我的应用程序时替换它。 Tomcat 正在删除应用程序目录并在重新部署时将其替换为 war 内容。

问题是:如何以及在何处将属性文件放入类路径中,并确保该文件不会在应用程序重新部署时被应用程序服务器替换/删除。并且该文件不能在 war 中。

最佳答案

你正在做的事情看起来像反模式。不要将数据库连接凭据存储在外部 property 文件中。

数据库访问凭据应该放在您的 tomcat 的 context.xml 配置文件中。这称为 JNDI 资源,您可以阅读它,例如 here .

关于java - 在应用程序服务器上部署 Web 应用程序。数据库访问凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34990702/

相关文章:

java - 循环遍历中等大小的数据集时,Kotlin 出现内存不足错误

java - 获取 JFrame 中 JTextField 的坐标

java - [Linux] 为 JNI 加载 .so 文件导致 : java. lang.UnsatisfiedLinkError : no libdebug in java. library.path

java - JTable 多标题行

java - BufferedWriter.write() 方法不会将整数写入文件

tomcat下的java.lang.UnsatisfiedLinkError

java - 类 ClassFormatError :Absent-Code-attribute-in-method-that-is-not-native

CAS 和 LDAP 的 Tomcat j_security 错误

apache - Solr 能否容忍一个分片上所有核心的丢失?

java - XMLBeans-xsi :type stripped using Axis2 and Tomcat?