Java webapps 提供了一种方便的方法来运行它们:将 jar 文件放入 tomcat 的 webapps 文件夹或使用 tomcat 管理器上传就足够了。如果 jar 文件名为 foo123.jar,则很快就可以在 http://
“简单易用”的 Web 应用程序应该在第一次运行时请求其所需的配置,例如“设置”屏幕,然后将其保留在 Servlet 容器重新启动后仍可正常运行的某个位置。当然,对于数据库连接参数,将它们存储在数据库中并不是一种选择。
根据规范,Servlet 容器必须提供 Web 应用程序具有写入访问权限的目录。可以使用以下方法确定:
File tempDir =
(File) session.getServletContext().getAttribute("javax.servlet.context.tempdir");
此目录的内容绑定(bind)到“servlet 上下文生命周期”,如果我没猜错的话,这意味着服务器重新启动后它是空的。如果这是真的,它就不能用于我的目的。
有人知道这方面的最佳实践吗?我不想重新发明轮子。
由于缺乏更好的解决方案,我会这样实现:正如我所说,如果您使用上面描述的简单部署方式,上下文路径将从 jar 文件名派生。所以我可以想象也将其用于数据库连接。简单来说:如果 Web 应用程序 foo123 在 localhost:3306(MySQL 默认端口)上找到 MySQL 连接,并且可以使用用户名 foo123 和密码 foo123 连接到它,并且有权访问名为 foo123 的模式,那么它在重新启动时始终使用该模式。
你对此有何看法?
最佳答案
您可以只使用 context.xml文件。这将允许您在逐个服务器的基础上存储配置文件,这意味着您永远不必将该信息放入代码本身中。
This example看来总结得相当好。
关于java - 在java webapps中持久化数据库连接参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12860912/