每个人似乎都说你应该使用Tomcat的JNDI上下文来管理你的JDBC连接和驱动程序等等。阅读完文档后,我理解了平局。但是如果您使用它,您的应用程序必须从现在开始使用Tomcat容器直到时间结束。将应用程序依赖于这样的环境配置(尤其是 for Java,这应该是"一次写入,随处运行")不是一种糟糕的编程习惯。 ?这怎么不是一个危险的发展决定?
答案 0 :(得分:3)
让您的应用程序依赖是不是一种糟糕的编程习惯 这样的环境配置(特别是对于Java,它是 应该是“一次编写,随处运行”)?
是的,总的来说。但是,此设计提供了多种好处,包括托管连接池和从应用程序中抽象数据库连接配置。 JNDI itself是一个目录服务抽象,可以保护您免受目录API差异的影响。
这不是一个危险的发展决定吗?
使用JNDI管理JDBC连接并非特定于Tomcat。每个Java应用程序服务器(GlassFish,Oracle,WebSphere等)都这样做。所以你不是要把自己绑在Tomcat上,而只是为了Java。
答案 1 :(得分:2)
我不知道您阅读了哪些文档,但是如果您使用JNDI,那么您在应用程序中指定的唯一内容就是您要使用的资源的JNDI名称(例如,用于数据库连接)。其他所有内容都在容器中配置,而不是应用程序的一部分(如数据库的URL,用户名,密码等)。