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

时间:2016-01-25 10:47:05

标签: java tomcat

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

我的带有数据库凭据的属性文件不在classpath中。在启动时我加载它:

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

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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