Difference between revisions of "Jetty/Reference/webdefault.xml"
m |
|||
(20 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Jetty Reference | {{Jetty Reference | ||
− | | introduction = | + | | introduction = |
− | + | {{Jetty Redirect|http://www.eclipse.org/jetty/documentation/current/webdefault-xml.html}} | |
− | | | + | The <tt>webdefault.xml</tt> file saves web applications from having to define a lot of house-keeping and container-specific elements in their own <tt>web.xml</tt> files. For example, you can use it to set up mime-type mappings and JSP servlet-mappings. Jetty applies <tt>webdefault.xml</tt> to a web application ''before'' the application's own <tt>WEB-INF/web.xml</tt>, which means that it cannot override values inside the webapp's <tt>web.xml</tt>. It uses the [[Jetty/Reference/jetty.xml_syntax|<tt>jetty.xml</tt> syntax]]. Generally, it is convenient for all webapps in a Jetty instance to share the same <tt>webdefault.xml</tt> file. However, it is certainly possible to provide differentiated <tt>webdefault.xml</tt> files for individual web applications. |
− | + | The <tt>webdefault.xml</tt> file is located in <tt>$(jetty.home)/etc/webdefault.xml</tt>. | |
− | + | | body = | |
− | + | == Using <tt>webdefault.xml</tt> == | |
− | + | 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, Jetty automatically uses <tt>webdefault.xml</tt>. | |
− | === | + | === Creating a Custom <tt>webdefault.xml</tt> for One WebApp === |
− | You can specify a custom | + | You can specify a custom <tt>webdefault.xml</tt> for an individual web application in that webapp's [[Jetty/Reference/jetty-web.xml|jetty-web.xml]] as follows: |
<source lang="xml"> | <source lang="xml"> | ||
Line 39: | Line 39: | ||
</source> | </source> | ||
− | Alternatively, you can use a classloader to find the resource representing your custom <tt>webdefault.xml</tt>. | + | Alternatively, you can use a [[Jetty/Reference/Jetty_Classloading|classloader]] to find the resource representing your custom <tt>webdefault.xml</tt>. |
− | === | + | === Creating a Custom <tt>webdefault.xml</tt> for Multiple WebApps === |
− | If you want to apply the same custom webdefault.xml to a number of webapps, | + | If you want to apply the same custom <tt>webdefault.xml</tt> to a number of webapps, provide the path to the file in <tt>[[Jetty/Reference/jetty.xml|jetty.xml]]</tt> either to the hot deployer ([[Jetty/Feature/ContextDeployer|Context Provider]]) or the static deployer ([[Jetty/Feature/WebAppDeployer|WebAppProvider]]). For example: |
<source lang="xml"> | <source lang="xml"> | ||
Line 55: | Line 55: | ||
</source> | </source> | ||
− | === Jetty Maven Plugin === | + | === Using the Jetty Maven Plugin === |
− | Similarly, for the [[Jetty Maven Plugin]], you provide a customized webdefault.xml file for your webapp | + | Similarly, for the [[Jetty/Feature/Jetty Maven Plugin|Jetty Maven Plugin]], you provide a customized <tt>webdefault.xml</tt> file for your webapp as follows: |
<source lang="xml"> | <source lang="xml"> | ||
<project> | <project> | ||
Line 79: | Line 79: | ||
| more = | | more = | ||
− | * [[Jetty/ | + | * [[Jetty/Reference/jetty-web.xml|web.xml Reference]]–reference information for <tt>web.xml</tt> files |
+ | * [[Jetty/Reference/override-web.xml|<tt>override-web.xml</tt>]]–a web.xml-formatted file, applied after the webapp's web.xml | ||
+ | * [[Jetty/Reference/jetty.xml|jetty.xml Reference]]–more information about <tt>jetty.xml</tt> | ||
}} | }} |
Latest revision as of 15:43, 23 April 2013
Contents
Introduction
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.
Using 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, Jetty automatically uses webdefault.xml.
Creating a Custom webdefault.xml for One WebApp
You can specify a custom webdefault.xml for an individual web application in that webapp's jetty-web.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 classloader to find the resource representing your custom webdefault.xml.
Creating a Custom webdefault.xml for Multiple WebApps
If you want to apply the same custom webdefault.xml to a number of webapps, provide the path to the file in jetty.xml either to the hot deployer (Context Provider) or the static deployer (WebAppProvider). For example:
<Configure class="org.eclipse.jetty.webapp.WebAppContext"> ... <New class="org.eclipse.jetty.deploy.WebAppDeployer"> ... <Set name="defaultsDescriptor">/my/path/to/webdefault.xml</Set> </New> ... </Configure>
Using the Jetty Maven Plugin
Similarly, for 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>
Additional Resources
- web.xml Reference–reference information for web.xml files
- override-web.xml–a web.xml-formatted file, applied after the webapp's web.xml
- jetty.xml Reference–more information about jetty.xml