Tomcat:jndi资源的context.xml和web.xml配置

时间:2017-04-26 06:10:01

标签: java tomcat java-ee tomcat7 tomcat8

我已经通过网络查看了几乎所有与web.xml / context.xml相关的问题,但我对以下问题得到了足够明确的答案。 This表示web.xml中的 resource-ref 标记等同于context.xml中的资源标记。 This表示web.xml中的 resource-ref 标记会在context.xml中查找资源标记。现在这两个听起来很混乱,因为我提到的链接都是Tomcat doc链接,但仍然看似矛盾。任何澄清都会非常有帮助。

1 个答案:

答案 0 :(得分:0)

“Resource”标记定义资源,可以放在许多xml文件中,这些文件在很大程度上取决于部署首选项。首先,我将context.xml放在Web应用程序的META-INF文件夹中。此目录在Web应用程序中与WEB-INF文件夹位于同一级别,例如: -

META-INF / context.xml中

<Context>
   <Resource name="jdbc/TestDB" auth="Container"  
              type="javax.sql.DataSource"
              driverClassName="com.mysql.jdbc.Driver"
              url="jdbc:mysql://localhost:3306/testdb"
              username="dbuser"
              password="dbpassword"
              maxTotal="20" maxIdle="10" maxWaitMillis="-1"/>
</Context>

以上内容使资源可用。

resource-ref标记用于引用资源以使其适用于您的应用。这可以放在web.xml文件中。

WEB-INF / web.xml中

<web-app>
    <!--- snipped -->
    <resource-ref>
        <description>Test DB Connection</description>
        <res-ref-name>jdbc/TestDB</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>
</web-app>

这两种方法都可以通过其他方式配置。我通常会选择这样的东西然后涉足。