我多年来一直在创建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而是为了其他容器?如果它是抽象的,那它是如何工作的?
谢谢!