blob: 9a3d00a95ca4bed9b177ff33e31e0bac94dc65d4 [file] [log] [blame]
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>webdefault.xml</title><link rel="stylesheet" type="text/css" href="css/docbook.css"><meta name="generator" content="DocBook XSL Stylesheets V1.79.1"><meta name="keywords" content="jetty, servlet, servlet-api, cometd, http, websocket, eclipse, maven, java, server, software"><link rel="home" href="index.html" title="Jetty"><link rel="up" href="reference-section.html" title="Chapter&nbsp;32.&nbsp;Jetty XML Reference"><link rel="prev" href="jetty-env-xml.html" title="jetty-env.xml"><link rel="next" href="override-web-xml.html" title="Jetty override-web.xml"><link xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" rel="shortcut icon" href="images/favicon.ico"><link rel="stylesheet" href="css/highlighter/foundation.css"><script src="js/highlight.pack.js"></script><script>
hljs.initHighlightingOnLoad();
</script><link type="text/css" rel="stylesheet" href="css/font-awesome/font-awesome.min.css"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><tr><td style="width: 25%"><a href="http://www.eclipse.org/jetty"><img src="images/jetty-header-logo.png" alt="Jetty Logo"></a><br><span style="font-size: small">
Version: 9.4.28-SNAPSHOT</span></td><td style="width: 50%"></td></tr></table><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">webdefault.xml</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="jetty-env-xml.html"><i class="fa fa-chevron-left" aria-hidden="true"></i> Previous</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;32.&nbsp;Jetty XML Reference<br><a accesskey="p" href="index.html"><i class="fa fa-home" aria-hidden="true"></i> Home</a></th><td width="20%" align="right">&nbsp;<a accesskey="n" href="override-web-xml.html">Next <i class="fa fa-chevron-right" aria-hidden="true"></i></a></td></tr></table><hr></div><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="jetty-callout"><h5 class="callout"><a href="http://www.webtide.com/">Contact the core Jetty developers at
<span class="website">www.webtide.com</span></a></h5><p>
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
</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="webdefault-xml"></a>webdefault.xml</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="webdefault-xml.html#using-webdefault-xml">Using webdefault.xml</a></span></dt></dl></div><p>The <code class="literal">webdefault.xml</code> file saves web applications from having to define a lot of house-keeping and container-specific elements in their own <code class="literal">web.xml</code> files.
For example, you can use it to set up MIME-type mappings and JSP servlet-mappings.
Jetty applies <code class="literal">webdefault.xml</code> to a web application <span class="emphasis"><em>before</em></span> the application&#8217;s own <code class="literal">WEB-INF/web.xml</code>, which means that it <span class="strong"><strong>cannot</strong></span> override values inside the webapp&#8217;s <code class="literal">web.xml</code>.
It uses the <a class="xref" href="jetty-xml-config.html" title="jetty.xml">jetty.xml</a> syntax.
Generally, it is convenient for all webapps in a Jetty instance to share the same <code class="literal">webdefault.xml</code> file.
However, it is certainly possible to provide differentiated ` webdefault.xml` files for individual web applications.</p><p>The <code class="literal">webdefault.xml</code> file is located in <code class="literal">$(jetty.home)/etc/webdefault.xml</code>.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="using-webdefault-xml"></a>Using webdefault.xml</h3></div></div></div><p>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 <code class="literal">$JETTY-HOME/etc/jetty-deploy.xml</code> file will configure jetty to automatically use <code class="literal">$JETTY_HOME/etc/webdefault.xml</code>.</p><div class="blockquote"><blockquote class="blockquote"><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"><i class="fa fa-asterisk" aria-hidden="true"></i> Note</h3><p>To ensure your <code class="literal">webdefault.xml</code> files are validated, you will need to set the <code class="literal">validateXml</code> attribute to true as described <a class="link" href="reference-section.html#jetty-xml-dtd" title="Understanding DTD and Parsing">here.</a></p></div></blockquote></div><p>The <code class="literal">webdefault.xml</code> <a class="link" href="{GITBROWSURL}/jetty-webapp/src/main/config/etc/webdefault.xml" target="_top">included with the Jetty Distribution</a> contains several configuration options, such as init params and servlet mappings, and is separated into sections for easy navigation.
Some of the more common options include, but are not limited to:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">dirAllowed</span></dt><dd>If true, directory listings are returned if no welcome file is found.
Otherwise 403 Forbidden displays.</dd><dt><span class="term">precompressed</span></dt><dd>If set to a comma separated list of file extensions, these indicate compressed formats that are known to map to a MIME-type that may be listed in a requests Accept-Encoding header.
If set to a boolean True, then a default set of compressed formats will be used, otherwise no pre-compressed formats.</dd><dt><span class="term">maxCacheSize</span></dt><dd>Maximum total size of the cache or 0 for no cache.</dd><dt><span class="term">maxCachedFileSize</span></dt><dd>Maximum size of a file to cache.</dd><dt><span class="term">maxCachedFiles</span></dt><dd>Maximum number of files to cache.</dd></dl></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="creating-custom-webdefault-xml-one-webapp"></a>Creating a Custom webdefault.xml for One WebApp</h4></div></div></div><p>You can specify a custom <code class="literal">webdefault.xml</code> for an individual web application in that webapp&#8217;s <a class="xref" href="jetty-xml-config.html" title="jetty.xml">jetty.xml</a> as follows:</p><pre xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><code>&lt;Configure class="org.eclipse.jetty.webapp.WebAppContext"&gt;
...
&lt;!-- Set up the absolute path to the custom webdefault.xml --&gt;
&lt;Set name="defaultsDescriptor"&gt;/my/path/to/webdefault.xml&lt;/Set&gt;
...
&lt;/Configure&gt;</code></pre><p>The equivalent in code is:</p><pre xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><code>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");
...</code></pre><p>Alternatively, you can use a <a class="xref" href="jetty-classloading.html" title="Jetty Classloading">Jetty Classloading</a> to find the resource representing your custom <code class="literal">webdefault.xml</code>.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="creating-custom-webdefault-xml-multiple-webapps"></a>Creating a Custom webdefault.xml for Multiple WebApps</h4></div></div></div><p>If you want to apply the same custom <code class="literal">webdefault.xml</code> to a number of webapps, provide the path to the file in <a class="xref" href="jetty-xml-config.html" title="jetty.xml">jetty.xml</a> in the <code class="literal">$JETTY_HOME/etc/jetty-deploy.xml</code> file:</p><pre xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><code> &lt;Set name="defaultsDescriptor"&gt;&lt;Property name="jetty.home" default="." /&gt;/other/path/to/another/webdefault.xml&lt;/Set&gt;</code></pre></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="webdefault-xml-using-jetty-maven-plugin"></a>Using the Jetty Maven Plugin</h4></div></div></div><p>Similarly, when using the <a class="link" href="jetty-maven-plugin.html" title="Configuring the Jetty Maven Plugin">Jetty Maven Plugin</a> you provide a customized <code class="literal">webdefault.xml</code> file for your webapp as follows:</p><pre xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><code>&lt;project&gt;
...
&lt;plugins&gt;
&lt;plugin&gt;
...
&lt;artifactId&gt;jetty-maven-plugin&lt;/artifactId&gt;
&lt;configuration&gt;
&lt;webApp&gt;
...
&lt;defaultsDescriptor&gt;/my/path/to/webdefault.xml&lt;/defaultsDescriptor&gt;
&lt;/webApp&gt;
&lt;/configuration&gt;
&lt;/plugin&gt;
...
&lt;/plugins&gt;
...
&lt;/project&gt;</code></pre></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="webdefault-xml-additional-resources"></a>Additional Resources</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><a class="xref" href="jetty-web-xml-config.html" title="jetty-web.xml">jetty-web.xml</a> &#8211;Reference for <code class="literal">web.xml</code> files</li><li class="listitem"><a class="xref" href="override-web-xml.html" title="Jetty override-web.xml">Jetty override-web.xml</a> &#8211;Information for this <code class="literal">web.xml</code> -formatted file, applied after the webapp&#8217;s <code class="literal">web.xml</code> webapp.</li><li class="listitem"><a class="xref" href="jetty-xml-config.html" title="jetty.xml">jetty.xml</a> &#8211;Reference for <code class="literal">jetty.xml</code> files</li></ul></div></div></div></div><script type="text/javascript">
SyntaxHighlighter.all()
</script><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="jetty-env-xml.html"><i class="fa fa-chevron-left" aria-hidden="true"></i> Previous</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="reference-section.html"><i class="fa fa-chevron-up" aria-hidden="true"></i> Top</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="override-web-xml.html">Next <i class="fa fa-chevron-right" aria-hidden="true"></i></a></td></tr><tr><td width="40%" align="left" valign="top">jetty-env.xml&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html"><i class="fa fa-home" aria-hidden="true"></i> Home</a></td><td width="40%" align="right" valign="top">&nbsp;Jetty override-web.xml</td></tr></table></div><p xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><div class="jetty-callout">
See an error or something missing?
<span class="callout"><a href="http://github.com/eclipse/jetty.project">Contribute to this documentation at
<span class="website"><i class="fa fa-github" aria-hidden="true"></i> Github!</span></a></span><span style="float: right"><i>(Generated: 2020-03-10)</i></span></div></p></body></html>