Typically, a web application deployment plan uses the format described above, and therefore it can be deployed in a Geronimo configuration running either Jetty or Tomcat as the web container. If container-specific settings are necessary, they can be located in the container-config element for one or both web containers (see Section 11.3.3, “Web Container-specific Configuration”).
However, in some cases, it may be desirable to restrict the web application to deploy only in Tomcat or only in Jetty. In that case, a different namespace should be used for the entire deployment plan, one of:
http://geronimo.apache.org/xml/ns/j2ee/web/jetty-1.0
http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-1.0
Additionally, instead of including a container-config element, any of the settings that would normally go in the tomcat or jetty elements within the container-config should just go directly into the web-app element of the deployment plan.
If the web deployment plan uses one of those namespaces, it will only be possible to deploy it in a Geronimo configuration containing the correct web container.
![]() | Tip |
|---|---|
Since both Tomcat and Jetty are supported in Geronimo, it's strongly recommended that the portable deployment plan format be used (instead of the container-specific plans described here). The main reason to use these plan formats is to support a Geronimo stack contaning both Tomcat and Jetty, though as there is no Geronimo distribution that ships that way, you'd have to create such a stack yourself to begin with. | |
Example 11.6. Tomcat-only and Jetty-only Deployment Plans
This example shows a simple web app configuration, with a virtual host setting, as it would appear in a portable, Tomcat-only, and Jetty-only plan. Note that the virtual host settings normally appear in the container-config section of the plan, but in the non-portable cases, appear directly within the web-app element.
Portable geronimo-web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.0"
configId="MyConfigName">
<context-root>/MyWebApp</context-root>
<container-config>
<tomcat
xmlns="http://geronimo.apache.org/xml/ns/web/tomcat/config-1.0">
<host>virtual.company.com</host>
<!-- Note that a Tomcat HostGBean must be deployed in
Geronimo that corresponds to this host name. -->
</tomcat>
<jetty
xmlns="http://geronimo.apache.org/xml/ns/web/jetty/config-1.0">
<virtual-host>virtual.company.com</virtual-host>
</jetty>
</container-config>
</web-app>Jetty-Only geronimo-web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns="http://geronimo.apache.org/xml/ns/j2ee/web/jetty-1.0"
configId="MyConfigName">
<context-root>/MyWebApp</context-root>
<virtual-host>virtual.company.com</virtual-host>
</web-app>Tomcat-Only geronimo-web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns="http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-1.0"
configId="MyConfigName">
<context-root>/MyWebApp</context-root>
<host>virtual.company.com</host>
<gbean name="MyVirtualHost"
class="org.apache.geronimo.tomcat.HostGBean">
<attribute name="className">
org.apache.catalina.core.StandardHost
</attribute>
<attribute name="initParams">
name=virtual.company.com
appBase=
workDir=work
</attribute>
</gbean>
</web-app>