private support for your internal/customer projects ... custom extensions and distributions ... versioned snapshots for indefinite support ... scalability guidance for your apps and Ajax/Comet projects ... development services from 1 day to full product delivery
The webdefault.xml
file saves web applications
from having to define a lot of house-keeping and container-specific elements
in their own web.xml
files. For example, you can use it
to set up mime-type mappings and JSP servlet-mappings. Jetty applies
webdefault.xml
to a web application
before the application's own
WEB-INF/web.xml
, which means that it cannot override
values inside the webapp's web.xml
. It uses the jetty.xml
syntax. Generally, it is convenient for all
webapps in a Jetty instance to share the same
webdefault.xml
file. However, it is certainly possible
to provide differentiated webdefault.xml
files for
individual web applications.
The webdefault.xml
file is located in
$(jetty.home)/etc/webdefault.xml
.
You can specify a custom configuration file to use for specific
webapps, or for all webapps. If you do not specify an alternate defaults
descriptor, the $JETTY-HOME/etc/jetty-deploy.xml file will configure jetty
to automatically use
$JETTY_HOME/etc/webdefault.xml
.
You can specify a custom webdefault.xml
for
an individual web application in that webapp's jetty.xml
as follows:
<Configure class="org.eclipse.jetty.webapp.WebAppContext"> ... <!-- Set up the absolute path to the custom webdefault.xml --> <Set name="defaultsDescriptor">/my/path/to/webdefault.xml</Set> ... </Configure>
The equivalent in code is:
import org.eclipse.jetty.webapp.WebAppContext; ... WebAppContext wac = new WebAppContext(); ... //Set up the absolute path to the custom webdefault.xml. wac.setDefaultsDescriptor("/my/path/to/webdefault.xml"); ...
Alternatively, you can use a Jetty Classloading
to find the resource representing your custom
webdefault.xml
.
If you want to apply the same custom
webdefault.xml
to a number of webapps, provide the
path to the file in jetty.xml
in the
$JETTY_HOME/etc/jetty-deploy.xml file:
<Set name="defaultsDescriptor"><Property name="jetty.home" default="." />/other/path/to/another/webdefault.xml</Set>
Similarly, when using the Jetty
Maven Plugin you provide a customized
webdefault.xml
file for your webapp as
follows:
<project> ... <plugins> <plugin> ... <artifactId>jetty-maven-plugin</artifactId> <configuration> <webAppConfig> ... <defaultsDescriptor>/my/path/to/webdefault.xml</defaultsDescriptor> </webAppConfig> </configuration> </plugin> ... </plugins> ... </project>
jetty-web.xml
–Reference for
web.xml
files
Jetty override-web.xml
–Information for this
web.xml
-formatted file, applied after the
webapp's web.xml
webapp.
jetty.xml
–Reference for
jetty.xml
files
See an error or something missing? Contribute to this documentation at Github!