blob: bd4c6c59341660c6167c523e42c343e52677809c [file]
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Chapter&nbsp;4.&nbsp;Deploying to Jetty</title><link rel="stylesheet" type="text/css" href="css/docbook.css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"><meta name="keywords" content="jetty, servlet, servlet-api, cometd, http, spdy, websocket, eclipse, maven, java, server, software"><link rel="home" href="index.html" title="Jetty : The Definitive Reference"><link rel="up" href="configuring.html" title="Part&nbsp;II.&nbsp;Jetty Configuration"><link rel="prev" href="configuring.html" title="Part&nbsp;II.&nbsp;Jetty Configuration"><link rel="next" href="automatic-webapp-deployment.html" title="Automatic Web Application Deployment"><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"><script type="text/javascript" src="js/shCore.js"></script><script type="text/javascript" src="js/shBrushJava.js"></script><script type="text/javascript" src="js/shBrushXml.js"></script><script type="text/javascript" src="js/shBrushBash.js"></script><script type="text/javascript" src="js/shBrushJScript.js"></script><script type="text/javascript" src="js/shBrushSql.js"></script><script type="text/javascript" src="js/shBrushProperties.js"></script><script type="text/javascript" src="js/shBrushPlain.js"></script><link type="text/css" rel="stylesheet" href="css/shCore.css"><link type="text/css" rel="stylesheet" href="css/shThemeEclipse.css"><link type="text/css" rel="stylesheet" href="css/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.2.21.v20170120</span></td><td style="width: 50%"><script type="text/javascript"> (function() {
var cx = '016459005284625897022:obd4lsai2ds';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
'//www.google.com/cse/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
</script><gcse:search></gcse:search></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">Chapter&nbsp;4.&nbsp;Deploying to Jetty</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="configuring.html"><i class="icon-chevron-left"></i> Previous</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;II.&nbsp;Jetty Configuration<br><a accesskey="p" href="index.html"><i class="icon-home"></i> Home</a></th><td width="20%" align="right">&nbsp;<a accesskey="n" href="automatic-webapp-deployment.html">Next <i class="icon-chevron-right"></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 from 1 day to full product delivery
</p></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a name="configuring-deployment"></a>Chapter&nbsp;4.&nbsp;Deploying to Jetty</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="configuring-deployment.html#anatomy-of-a-webapp">Anatomy of a Web Application</a></span></dt><dt><span class="section"><a href="automatic-webapp-deployment.html">Automatic Web Application Deployment</a></span></dt><dt><span class="section"><a href="configuring-specific-webapp-deployment.html">Configuring a Specific Web Application Deployment</a></span></dt><dt><span class="section"><a href="configuring-webapps.html">Deployment Processing of WebAppContexts</a></span></dt><dt><span class="section"><a href="static-content-deployment.html">Configuring Static Content Deployment</a></span></dt><dt><span class="section"><a href="hot-deployment.html">Hot Deployment</a></span></dt><dt><span class="section"><a href="deployment-architecture.html">Deployment Architecture</a></span></dt><dt><span class="section"><a href="quickstart-webapp.html">Quickstart Webapps</a></span></dt><dt><span class="section"><a href="overlay-deployer.html">Overlay WebApp Deployer</a></span></dt></dl></div><p>This chapter discusses various ways to deploy applications with Jetty.
Topics range from deployment bindings to deploying third party products. It
also includes information about the Deployment Manager,
WebApp Provider, and Overlay Deployer.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="anatomy-of-a-webapp"></a>Anatomy of a Web Application</h2></div></div></div><p>The standard Jetty distribution is capable of deploying standard
Servlet Spec Web Applications, and Jetty internal ContextHandler deployment
descriptors, or even a mix of the two.</p><p>Web Applications are deployable collections of dynamic (servlets,
filters, jsps, etc..) and static content, support libraries, and descriptive
metadata that are bound to a specific context path on Jetty.</p><p>Ultimately the format and layout are defined by the Servlet Spec, and
you should consult the official Servlet Spec documentation for a more
detailed understanding of Web Application layout and structure, however this
will outline basics about how Jetty views these requirements.</p><p>Web Applications can be bundled into a single Web Archive (WAR file)
or as a directory tree.</p><div class="variablelist"><dl><dt><span class="term"><code class="filename">/WEB-INF/</code></span></dt><dd><p>Special Servlet API defined directory used to store anything
related to the Web Application that are not part of the public access
of the Web Application.</p><p>If you have content that is accessed by your Web Application
internally, but that should also never be accessed directly by a web
browser, this is the directory you would place them in.</p></dd><dt><span class="term"><code class="filename">/WEB-INF/web.xml</code></span></dt><dd><p><span class="bold"><strong>Required</strong></span> deployment descriptor
defining various behavior of your Web Application.</p></dd><dt><span class="term"><code class="filename">/WEB-INF/classes/</code></span></dt><dd><p>Location for Web Application specific compiled java
classes</p></dd><dt><span class="term"><code class="filename">/WEB-INF/lib/</code></span></dt><dd><p>Directory for JAR files (libraries)</p></dd></dl></div><p>The Jetty internal WebAppClassloader will load classes from
<code class="filename">/WEB-INF/classes/</code> first, then from jar files found in
<code class="filename">/WEB-INF/lib/</code>.</p></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="configuring.html"><i class="icon-chevron-left"></i> Previous</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="configuring.html"><i class="icon-chevron-up"></i> Top</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="automatic-webapp-deployment.html">Next <i class="icon-chevron-right"></i></a></td></tr><tr><td width="40%" align="left" valign="top">Part&nbsp;II.&nbsp;Jetty Configuration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html"><i class="icon-home"></i> Home</a></td><td width="40%" align="right" valign="top">&nbsp;Automatic Web Application Deployment</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/jetty-project/jetty-documentation">Contribute to this documentation at
<span class="website"><i class="icon-github"></i> Github!</span></a></span><span style="float: right"><i>(Generated: 2015-03-13T11:47:49-05:00)</i></span></div></p><script 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" type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-1149868-7']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script></body></html>