context.xml和server.xml之间的区别?

时间:2012-07-19 11:16:15

标签: java java-ee tomcat

Tomcat的context.xml和Tomcat的server.xml有什么区别?如果我想添加如下标签:

    <Resource name="jdbc/MyDs" auth="Container" type="javax.sql.DataSource"
     driverClassName="org.apache.derby.jdbc.ClientDriver"
     url="jdbc:derby://localhost:1527/my_database;create=true"
     username="me" password="me" maxActive="20" maxIdle="10" maxWait="-1" />

我应该在哪里添加它?

3 个答案:

答案 0 :(得分:11)

server.xml用于服务器,context.xml用于在该服务器上运行的应用程序。服务器上可能有多个context.xml文件(每个应用程序),但只有一个server.xml。

答案 1 :(得分:8)

Tomcat Web应用程序有一堆称为部署描述符的配置,可以分为两组:依赖于服务器(context.xml)和独立于服务器(web.xml)。

server.xml - 在服务器端存储并描述Tomcat服务器的常规配置。此文件是一个Tomcat服务器的唯一文件。

context.xml - 可以存储在服务器端(conf /)或嵌入到Web应用程序(META-INF /)中。此文件包含与服务器相关的配置,如Tomcat服务器提供的DataSource。

web.xml - 可以存储在服务器端(conf /)或嵌入到Web应用程序(WEB-INF /)中。此文件包含与servlet映射等服务器无关的配置。

Tomcat conf /目录中服务器端的Context.xml和web.xml用于提供Tomcat的默认行为,如默认的servlet映射。因此,每个服务器有一个server.xml,每个Web应用程序有一对context.xml / web.xml文件。如果要在多个应用程序之间共享配置,则应使用server.xml(例如,它用于安全领域)。否则 - server.xml / web.xml。在您的情况下,我建议您使用web app embedded context.xml。

答案 2 :(得分:2)

此条目可以在单个上下文文件下或在单个上下文文件中的server.xml中。上下文xml文件可以特定于每个应用程序部署,而server.xml变为全局。

特定于应用程序的上下文文件通常位于catalina \ localhost文件夹中。