java - 使用 Java Web 应用程序 (web.xml) 部署数据库配置(用户名/密码)的最佳做法是什么?

标签 java tomcat servlets jdbc jetty

我有一个使用标准 web.xml 和 servlet 的 Java 网络应用程序。目前,我正在使用 <context-param> web.xml 中的标签来定义数据库配置(JDBC url、用户名、密码等)。这些由其 init() 中的 servlet 拾取。方法。

但我不想在我的源存储库中包含数据库用户名/密码。

为了测试,我正在使用 jetty-maven-plugin。这样,我指定了一个选项 overrideDescriptor在主要 web.xml 之后应用补充 web.xml。我将我的测试数据库配置放在这个补充文件中,一切正常。

对于部署,我的主机使用的是 Tomcat。我不确定如何在此处应用数据库配置。是否有类似的方法来指定补充的 web.xml 文件?如果不是,执行此操作的最佳做​​法是什么?从作为资源包含的单独属性文件(或类似文件)中读取配置?

最佳答案

您应该使用连接池和 JNDI。您以这种方式将凭据保存在服务器上。用户只需要 JNDI 查找名称(例如,“jdbc/FooDataSource”)即可访问连接池。

关于java - 使用 Java Web 应用程序 (web.xml) 部署数据库配置(用户名/密码)的最佳做法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3762108/

相关文章:

java - Spring 启动: Download zipped large files while they are being processed on the server

Apache Tomcat native 连接器的性能优势

java - Primefaces 组件不呈现

java - Ajax 将 JSON 数组发送到 servlet

java - JPA ManyToMany 使用分组和交叉连接将数据连接在一起

java - 我应该能够在 Eclipse 图形布局中看到 android 滚动条吗?

java - 通过 Hibernate Search 将 Hibernate Criteria API 与 Lucene 结合起来?

eclipse - Amazon Cloud Development 利用 Cloud Watch、Elastic Load Balancer (ELB) 和 Tomcat 服务器上的 Autoscale

java - 区分 URL 用户名和基本身份验证用户名?

Java servlet 注释