使用JDBC创建Web应用程序时,是否还需要resource-ref?

时间:2017-02-23 19:43:20

标签: java tomcat jdbc jndi

我多年来一直在创建Java Web应用程序。我正在开始一个新项目,我想我会重新审视一些流程。我使用的是Java 8和Tomcat 7。

我通常定义一个JNDI资源条目并将其作为DataSource拉出来。我通过在我的上下文中创建资源来定义条目,例如:

<Context>
  <Resource name="jdbc/db" .../>
</Context>

此条目包含我认为我需要的所有内容,包括名称,驱动程序和配置。然而,我所设置的所有说明都说你需要在你的web.xml中使用资源引用,如下所示:

<resource-ref>
  <res-ref-name>jdbc/db</res-ref-name>
  ...
</resource-ref>

见这里:

或者您可以在线找到其他100个教程。

但是,我不小心忘了放入资源引用,但一切仍然正常(在tomcat中)。看看事情,似乎多余。然后我发现了这个:

但是接受(并且受欢迎)的答案似乎并没有真正回答我这个问题。它说资源引用是一种抽象,但没有解释如何使用抽象。此外,给出的示例的一部分专门针对jboss(jndi-name),并且甚至不能在tomcat中工作。

那我错过了什么?是否需要资源参考?也许不是为tomcat而是为了其他容器?如果它是抽象的,那它是如何工作的?

谢谢!

0 个答案:

没有答案