Version: 9.4.5.v20170502 |
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 for sponsored feature development
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
.
Note
To ensure your
webdefault.xml
files are validated, you will need to set thevalidateXml
attribute to true as described here.
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>
<webApp>
...
<defaultsDescriptor>/my/path/to/webdefault.xml</defaultsDescriptor>
</webApp>
</configuration>
</plugin>
...
</plugins>
...
</project>
web.xml
filesweb.xml
-formatted file, applied after the webapp’s web.xml
webapp.jetty.xml
files