<html><head>
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
   <title>Chapter&nbsp;8.&nbsp;Configuring JSP Support</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-api, cometd, http, spdy, eclipse, maven, java, 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 Guide"><link rel="prev" href="overlay-deployer.html" title="Overlay WebApp Deployer"><link rel="next" href="configuring-logging.html" title="Chapter&nbsp;9.&nbsp;Jetty Logging"><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.0.6.v20130930</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;8.&nbsp;Configuring JSP Support</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="overlay-deployer.html"><i class="icon-chevron-left"></i> Previous</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;II.&nbsp;Jetty Configuration Guide<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="configuring-logging.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/support.jsp">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-jsp"></a>Chapter&nbsp;8.&nbsp;Configuring JSP Support</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="configuring-jsp.html#jsp-support">Configuring JSP</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="jsp-support"></a>Configuring JSP</h2></div></div></div><div class="toc"><dl><dt><span class="section"><a href="configuring-jsp.html#compiling-jsps">Compiling JSPs</a></span></dt><dt><span class="section"><a href="configuring-jsp.html#configuring-jsp-for-jetty">Configuring JSP for Jetty</a></span></dt><dt><span class="section"><a href="configuring-jsp.html#modifying-configuration">Modifying the Configuration</a></span></dt><dt><span class="section"><a href="configuring-jsp.html#using-jstl-taglibs-for-jetty7-jetty8">Using JSTL Taglibs</a></span></dt><dt><span class="section"><a href="configuring-jsp.html#using-jsf-taglibs">Using JSF Taglibs</a></span></dt></dl></div><p>This document provides information about configuring JSP.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="compiling-jsps"></a>Compiling JSPs</h3></div></div></div><p>To compile <code class="filename">.jsp</code> files into Java classes, you
    need a Java compiler. You can acquire a Java compiler from the JVM if you
    are using a full JDK, or from a third party Jar.</p><p>By default, the jsp engine used by Jetty will try to use the
    compiler that is part of the JDK. <span class="bold"><strong>NOTE:</strong></span>
    when using the JDK compiler, your class files will
    <span class="emphasis"><em>not</em></span> be saved to disk unless you use the
    <code class="code">saveBytecode</code> init-param as described below.</p><p>If you do not have a full JDK, then you can configure the jsp engine
    to use the Eclipse Java Compiler that Jetty ships in the distro in
    $JETTY_HOME/lib/jsp/org.eclipse.jdt.core-3.7.1.jar. You will need to
    define a SystemProperty that prevents the jsp engine from defaulting to
    the in-JVM compiler.</p><p>Here's the property definition to add to
    $JETTY_HOME/start.ini:</p><div class="informalexample"><script type="syntaxhighlighter" class="brush: plain;toolbar: false">
          <![CDATA[

 -Dorg.apache.jasper.compiler.disablejsr199=true

      ]]>
        </script></div><p>Alternatively, you can define this SystemProperty in a
    $JETTY_HOME/etc/jetty.xml file:</p><div class="informalexample"><script type="syntaxhighlighter" class="brush: xml;toolbar: false">
          <![CDATA[

  <Call class="java.lang.System"  name="setProperty">
    <Arg>org.apache.jasper.compiler.disablejsr199</Arg>
    <Arg>true</Arg>
  </Call>

      ]]>
        </script></div><p>If you are using the <a class="link" href="jetty-maven-plugin.html" title="Configuring the Jetty Maven Plugin">Maven Jetty
    Plugin</a>, then you have a number of options:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>define the SystemProperty inside the pom.xml of your webapp
        using either the <a class="link" href="http://mojo.codehaus.org/properties-maven-plugin/" target="_top">Properties
        Maven Plugin</a> or the <a class="link" href="jetty-maven-plugin.html" title="Configuring the Jetty Maven Plugin">Maven
        Jetty Plugin's</a> own <a class="link" href="jetty-maven-plugin.html#setting-system-properties" title="Setting System Properties">system properties
        configuration</a></p></li><li class="listitem"><p>add a jetty.xml config file and define the SystemProperty in
        there</p></li><li class="listitem"><p>add the SystemProperty definition to maven's <a class="link" href="http://maven.apache.org/download.cgi" target="_top">MAVEN_OPTS</a>
        environment variable</p></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="configuring-jsp-for-jetty"></a>Configuring JSP for Jetty</h3></div></div></div><p>The JSP engine has many configuration parameters. Some parameters
    affect only precompilation, and some affect runtime recompilation
    checking. Parameters also differ between the various versions of the JSP
    engine. This page lists the configuration parameters, their meanings and
    their default settings. All parameters are set on the
    <code class="code">org.apache.jasper.JspServlet</code> instance defined in the <a class="link" href="webdefault-xml.html" title="webdefault.xml">webdefault.xml</a> file.</p><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="icon-asterisk"></i> Note</h3><p>Be careful: for all of the parameters below, if the value you set
      doesn't take effect, try using all lower case instead of camel case, or
      capitalizing only some of the words in the name, as JSP is inconsistent
      in its parameter naming strategy.</p></div><div class="table"><a name="d0e5663"></a><p class="title"><b>Table&nbsp;8.1.&nbsp;Understanding JSP Parameters</b></p><div class="table-contents"><table summary="Understanding JSP Parameters" border="1"><colgroup><col><col><col><col></colgroup><thead><tr><th align="left">init param</th><th align="left">Description</th><th align="left">Default</th><th align="left">webdefault.xml</th></tr></thead><tbody><tr><td>development</td><td><code class="code">development=true</code>, recompilation checks occur
            on each request. See also <code class="code">
            modificationTestInterval</code>.</td><td>TRUE</td><td>&#8211;</td></tr><tr><td>fork</td><td>Should Ant fork its java compiles of JSP pages?</td><td>TRUE</td><td>FALSE</td></tr><tr><td>keepgenerated</td><td>Do you want to keep the generated Java files
            around?</td><td>FALSE</td><td>&#8211;</td></tr><tr><td>saveBytecode</td><td>If class files are generated as byte arrays, should they be
            saved to disk at the end of compilations?</td><td>FALSE</td><td>&#8211;</td></tr><tr><td>trimSpaces</td><td>Should white spaces between directives or actions be
            trimmed?</td><td>FALSE</td><td>&#8211;</td></tr><tr><td>enablePooling</td><td>Determines whether tag handler pooling is enabled.</td><td>TRUE</td><td>&#8211;</td></tr><tr><td>mappedFile</td><td>Support for mapped Files. Generates a servlet that has a
            print statement per line of the JSP file./</td><td>TRUE</td><td>&#8211;</td></tr><tr><td>sendErrorToClient</td><td>If false, stack traces, etc., are sent to std error instead
            of the client's browser.</td><td>FALSE</td><td>&#8211;</td></tr><tr><td>classdebuginfo</td><td>Include debugging info in class file.</td><td>TRUE</td><td>&#8211;</td></tr><tr><td>checkInterval</td><td>Interval in seconds between background recompile checks.
            Only relevant if <code class="code"> development=false</code>.</td><td>0</td><td>&#8211;</td></tr><tr><td>suppressSmap</td><td>Generation of SMAP info for JSR45 debugging.</td><td>FALSE</td><td>&#8211;</td></tr><tr><td>dumpSmap</td><td>Dump SMAP JSR45 info to a file.</td><td>FALSE</td><td>&#8211;</td></tr><tr><td>genStrAsCharArray</td><td>Option for generating Strings.</td><td>FALSE</td><td>&#8211;</td></tr><tr><td>genStrAsByteArray</td><td>Option for generating Strings.</td><td>TRUE</td><td>&#8211;</td></tr><tr><td>defaultBufferNone</td><td>&nbsp;</td><td>FALSE</td><td>&#8211;</td></tr><tr><td>errorOnUseBeanInvalidClassAttribute</td><td>&nbsp;</td><td>FALSE</td><td>&#8211;</td></tr><tr><td>scratchDir</td><td>Directory where servlets are generated. Jetty sets this
            value according to the [/display/JETTY/Temporary+Directories work
            dir] settings for the webapp.</td><td>&#8211;</td><td>&#8211;</td></tr><tr><td>compiler</td><td>Determined at runtime. For Jetty this is the Eclipse jdt
            compiler.</td><td>&#8211;</td><td>&#8211;</td></tr><tr><td>compilerTargetVM</td><td>Target vm to compile for.</td><td>1.5</td><td>&#8211;</td></tr><tr><td>compilerSourceVM</td><td>Sets source compliance level for the jdt compiler.</td><td>1.5</td><td>&#8211;</td></tr><tr><td>javaEncoding</td><td>Pass through the encoding to use for the
            compilation.</td><td>UTF8</td><td>&#8211;</td></tr><tr><td>modificationTestInterval</td><td>If <code class="code">development=true</code>, interval between
            recompilation checks, triggered by a request.</td><td>0</td><td>&#8211;</td></tr><tr><td>xpoweredBy</td><td>Generate an X-Powered-By response header.</td><td>FALSE</td><td>FALSE</td></tr><tr><td>usePrecompiled/use-precompiled</td><td>&nbsp;</td><td>FALSE</td><td>&#8211;</td></tr><tr><td>validating/enableTldValidation</td><td>Whether or not to validate tag files against the
            schema.</td><td>FALSE</td><td>&#8211;</td></tr><tr><td>reload-interval</td><td>If <code class="code">reload-interval=0</code>, then no runtime checking
            of JSP, otherwise sets the checking interval for both
            <code class="code">development=true</code> and
            <code class="code">development=false</code>.</td><td>&#8211;</td><td>&#8211;</td></tr><tr><td>initial-capacity/initialCapacity</td><td>The initial capacity of the hash maps mapping the name of
            the JSP to class and JSP file.</td><td>&#8211;</td><td>&#8211;</td></tr></tbody></table></div></div><br class="table-break"><p>Much confusion generally ensues about the <code class="code">development</code>,
    <code class="code">checkInterval</code> and <code class="code"> modificationTestInterval</code>
    parameters and JSP runtime recompilation. Here is a factoring out of the
    various options:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Check the JSP files for possible recompilation on every request:
        </p><div class="informalexample"><script type="syntaxhighlighter" class="brush: xml;toolbar: false">
          <![CDATA[

<init-param>
        <param-name>development></param-name>
        <param-value>true></param-value>
</init-param>

        ]]>
        </script></div></li><li class="listitem"><p>Only check approximately every N seconds, where a request will
        trigger the time-lapse calculation. This example checks every 60
        seconds: </p><div class="informalexample"><script type="syntaxhighlighter" class="brush: xml;toolbar: false">
          <![CDATA[

<init-param>
        <param-name>development></param-name>
        <param-value>true></param-value>
</init-param>
<init-param>
        <param-name>modificationTestInterval></param-name>
        <param-value>60></param-value>
</init-param>

        ]]>
        </script></div></li><li class="listitem"><p>Do no checking whatsoever, but still compile the JSP on the very
        first hit. (Note: this ''reload-interval'' parameter is shorthand for
        a ''development=false'' and ''checkInterval=0'' combination.):
        </p><div class="informalexample"><script type="syntaxhighlighter" class="brush: xml;toolbar: false">
          <![CDATA[

<init-param>
        <param-name>reload-interval></param-name>
        <param-value>-1></param-value>
</init-param>

        ]]>
        </script></div></li><li class="listitem"><p>Don't do any request-time checking, but instead start a
        background thread to do checks every N seconds. This example checks
        every 60 seconds: </p><div class="informalexample"><script type="syntaxhighlighter" class="brush: xml;toolbar: false">
          <![CDATA[

<init-param>
        <param-name>development></param-name>
        <param-value>false></param-value>
 </init-param>
 <init-param>
         <param-name>checkInterval></param-name>
         <param-value>60></param-value>
</init-param>
 
        ]]>
        </script></div></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="modifying-configuration"></a>Modifying the Configuration</h3></div></div></div><p>There are several options for modifying the JspServlet
    configuration.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="overriding-webdefault.xml"></a>Overriding <code class="filename">webdefault.xml</code></h4></div></div></div><p>You can make a copy of the <a class="link" href="webdefault-xml.html" title="webdefault.xml">$JETTY_HOME/etc/webdefault.xml</a> that
      ships with Jetty, apply your changes, and use it instead of the shipped
      version. The example below shows how to do this when using the Jetty
      Maven plugin.</p><div class="informalexample"><script type="syntaxhighlighter" class="brush: xml;toolbar: false">
          <![CDATA[

  <plugin>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <configuration>
      <webApp>
        <defaultsDescriptor>src/main/resources/webdefault.xml</defaultsDescriptor>
      </webApp>
  </plugin>
        ]]>
        </script></div><p>If you're using the Jetty distro, and you want to change the JSP
      settings for just one or a few of your webapps, copy the
      <code class="filename">$<a class="link" href="webdefault-xml.html" title="webdefault.xml">JETTY_HOME/etc/webdefault.xml</a></code>
      file somewhere, modify it, and then use a <a class="link" href="quickstart-config-what.html#intro-jetty-configuration-contexts" title="Configuring Contexts">context xml</a> file to
      set this file as the defaultsDescriptor for your webapp. Here's a
      snippet:</p><div class="informalexample"><script type="syntaxhighlighter" class="brush: xml;toolbar: false">
          <![CDATA[

 <Configure class=>"org.eclipse.jetty.webapp.WebAppContext">
 
   <Set name=>"contextPath">/foo</Set>
   <Set name=>"war"><SystemProperty name=>"jetty.home" >default=>"."/>/webapps/foobar.war</Set>
   <Set name=>"defaultsDescriptor">/home/smith/dev/webdefault.xml</Set>
  
 </Configure>

        ]]>
        </script></div><p>If you want to change the JSP settings for all webapps, edit
      the<code class="filename"> $JETTY_HOME/etc/webdefaults.xml</code> file directly
      instead.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="configuring-jsp-servlet-in-web.xml"></a>Configuring the JSP Servlet in
      <code class="filename">web.xml</code></h4></div></div></div><p>Another option is to add an entry for the JSPServlet to the
      <code class="filename">WEB-INF/web.xml</code> file of your webapp. You can use
      the entry in <a class="link" href="webdefault-xml.html" title="webdefault.xml">$JETTY_HOME/etc/webdefault.xml</a> as a
      starting point.</p><div class="informalexample"><script type="syntaxhighlighter" class="brush: xml;toolbar: false">
          <![CDATA[

 <servlet id=>"jsp">
     <servlet-name>jsp</servlet-name>
     <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
     <init-param>
         <param-name>logVerbosityLevel</param-name>
         <param-value>DEBUG</param-value>
     </init-param>
     <init-param>
         <param-name>fork</param-name>
         <param-value>>false</param-value>
     </init-param>
     <init-param>
         <param-name>keepgenerated</param-name>
         <param-value>>true</param-value>
     </init-param>
     ...
     
     <load-on-startup>0</load-on-startup>
   </servlet>
 
   <servlet-mapping>
     <servlet-name>jsp</servlet-name>
     <url-pattern>*.jsp</url-pattern>
     <url-pattern>*.jspf</url-pattern>
     <url-pattern>*.jspx</url-pattern>
     <url-pattern>*.xsp</url-pattern>
     <url-pattern>*.JSP</url-pattern>
     <url-pattern>*.JSPF</url-pattern>
     <url-pattern>*.JSPX</url-pattern>
     <url-pattern>*.XSP</url-pattern>
   </servlet-mapping>
   
   <servlet id=>"my-servlet">
     <servlet-name>myServlet</servlet-name>
     <servlet-class>com.acme.servlet.MyServlet</servlet-class>
      ...


        ]]>
        </script></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="using-jstl-taglibs-for-jetty7-jetty8"></a>Using JSTL Taglibs</h3></div></div></div><p>The JavaServer Pages Standlard Tag Library (JSTL) is part of the
    jetty distribution (in <code class="code">$JETTY_HOME/lib/jsp</code>) and is
    automatically on the classpath.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="using-jsf-taglibs"></a>Using JSF Taglibs</h3></div></div></div><p>The following sections provide information about using JSF taglibs
    with Jetty Standalone and the Jetty Maven Plugin.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="using-jsf-taglibs-with-jetty-standalone"></a>Using JSF Taglibs with Jetty Distribution</h4></div></div></div><p>If you want to use JSF with your webapp, you need to copy the jsf
      implementation Jar (whichever Jar contains the
      <code class="filename">META-INF/*.tld</code> files from your chosen JSF
      implementation) into <code class="filename"> $JETTY_HOME/lib/jsp</code>. This is
      because the version of the jsp engine from Glassfish that we are using
      <span class="emphasis"><em>requires</em></span> that the JSF tags are on the container's
      classpath, and <span class="emphasis"><em>not</em></span> on the webapp's
      classpath.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="using-jsf-taglibs-with-jetty-maven-plugin"></a>Using JSF Taglibs with Jetty Maven Plugin</h4></div></div></div><p>The version of the JSP engine from Glassfish that we are using
      requires that the JSF tags be on the container classpath, and not on the
      webapp classpath, so you need to make your JSF jars dependencies of the
      plugin and <span class="emphasis"><em>not</em></span> the webapp itself. For
      example:</p><div class="informalexample"><script type="syntaxhighlighter" class="brush: xml;toolbar: false">
          <![CDATA[

   <plugin>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <configuration>
       <webApp>
         <contextPath>/jetty-documentation</contextPath>
       </webApp>
       <scanIntervalSeconds>5</scanIntervalSeconds>
    </configuration>
    <dependencies>
      <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-api</artifactId>
        <version>2.0.8</version>
      </dependency>
      <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-impl</artifactId>
        <version>2.0.8</version>
     </dependency>
    </dependencies>
  </plugin>

        ]]>
        </script></div></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="overlay-deployer.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="configuring-logging.html">Next <i class="icon-chevron-right"></i></a></td></tr><tr><td width="40%" align="left" valign="top">Overlay WebApp Deployer&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;Chapter&nbsp;9.&nbsp;Jetty Logging</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: 2013-10-30T13:20:21-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>