<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.9.1) on Tue Jan 19 11:49:19 CST 2021 -->
<title>ContextHandler (Jetty :: Project 9.4.36.v20210114 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-01-19">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="ContextHandler (Jetty :: Project 9.4.36.v20210114 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":9,"i32":10,"i33":10,"i34":9,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":9,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":42,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":9,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = false;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ContextHandler.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.eclipse.jetty.server.handler</a></div>
<h2 title="Class ContextHandler" class="title">Class ContextHandler</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../util/component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">org.eclipse.jetty.util.component.AbstractLifeCycle</a></li>
<li>
<ul class="inheritance">
<li><a href="../../util/component/ContainerLifeCycle.html" title="class in org.eclipse.jetty.util.component">org.eclipse.jetty.util.component.ContainerLifeCycle</a></li>
<li>
<ul class="inheritance">
<li><a href="AbstractHandler.html" title="class in org.eclipse.jetty.server.handler">org.eclipse.jetty.server.handler.AbstractHandler</a></li>
<li>
<ul class="inheritance">
<li><a href="AbstractHandlerContainer.html" title="class in org.eclipse.jetty.server.handler">org.eclipse.jetty.server.handler.AbstractHandlerContainer</a></li>
<li>
<ul class="inheritance">
<li><a href="HandlerWrapper.html" title="class in org.eclipse.jetty.server.handler">org.eclipse.jetty.server.handler.HandlerWrapper</a></li>
<li>
<ul class="inheritance">
<li><a href="ScopedHandler.html" title="class in org.eclipse.jetty.server.handler">org.eclipse.jetty.server.handler.ScopedHandler</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.jetty.server.handler.ContextHandler</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../Handler.html" title="interface in org.eclipse.jetty.server">Handler</a></code>, <code><a href="../HandlerContainer.html" title="interface in org.eclipse.jetty.server">HandlerContainer</a></code>, <code><a href="../../util/Attributes.html" title="interface in org.eclipse.jetty.util">Attributes</a></code>, <code><a href="../../util/component/Container.html" title="interface in org.eclipse.jetty.util.component">Container</a></code>, <code><a href="../../util/component/Destroyable.html" title="interface in org.eclipse.jetty.util.component">Destroyable</a></code>, <code><a href="../../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></code>, <code><a href="../../util/component/Dumpable.DumpableContainer.html" title="interface in org.eclipse.jetty.util.component">Dumpable.DumpableContainer</a></code>, <code><a href="../../util/component/Graceful.html" title="interface in org.eclipse.jetty.util.component">Graceful</a></code>, <code><a href="../../util/component/LifeCycle.html" title="interface in org.eclipse.jetty.util.component">LifeCycle</a></code></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="../../http/spi/HttpSpiContextHandler.html" title="class in org.eclipse.jetty.http.spi">HttpSpiContextHandler</a></code>, <code><a href="MovedContextHandler.html" title="class in org.eclipse.jetty.server.handler">MovedContextHandler</a></code>, <code><a href="../../servlet/ServletContextHandler.html" title="class in org.eclipse.jetty.servlet">ServletContextHandler</a></code></dd>
</dl>
<hr>
<pre><a href="../../util/annotation/ManagedObject.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedObject</a>("URI Context")
public class <span class="typeNameLabel">ContextHandler</span>
extends <a href="ScopedHandler.html" title="class in org.eclipse.jetty.server.handler">ScopedHandler</a>
implements <a href="../../util/Attributes.html" title="interface in org.eclipse.jetty.util">Attributes</a>, <a href="../../util/component/Graceful.html" title="interface in org.eclipse.jetty.util.component">Graceful</a></pre>
<div class="block">ContextHandler.

 <p>
 This handler wraps a call to handle by setting the context and servlet path, plus setting the context classloader.
 </p>
 <p>
 If the context init parameter <code>org.eclipse.jetty.server.context.ManagedAttributes</code> is set to a comma separated list of names, then they are treated as
 context attribute names, which if set as attributes are passed to the servers Container so that they may be managed with JMX.
 </p>
 <p>
 The maximum size of a form that can be processed by this context is controlled by the system properties <code>org.eclipse.jetty.server.Request.maxFormKeys</code> and
 <code>org.eclipse.jetty.server.Request.maxFormContentSize</code>. These can also be configured with <a href="#setMaxFormContentSize(int)"><code>setMaxFormContentSize(int)</code></a> and <a href="#setMaxFormKeys(int)"><code>setMaxFormKeys(int)</code></a>
 </p>
 <p>
 The executor is made available via a context attributed <code>org.eclipse.jetty.server.Executor</code>.
 </p>
 <p>
 By default, the context is created with alias checkers for <a href="AllowSymLinkAliasChecker.html" title="class in org.eclipse.jetty.server.handler"><code>AllowSymLinkAliasChecker</code></a> (unix only) and <a href="ContextHandler.ApproveNonExistentDirectoryAliases.html" title="class in org.eclipse.jetty.server.handler"><code>ContextHandler.ApproveNonExistentDirectoryAliases</code></a>. If
 these alias checkers are not required, then <a href="#clearAliasChecks()"><code>clearAliasChecks()</code></a> or <a href="#setAliasChecks(java.util.List)"><code>setAliasChecks(List)</code></a> should be called.
 </p></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ContextHandler.AliasCheck.html" title="interface in org.eclipse.jetty.server.handler">ContextHandler.AliasCheck</a></span></code></th>
<td class="colLast">
<div class="block">Interface to check aliases</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ContextHandler.ApproveAliases.html" title="class in org.eclipse.jetty.server.handler">ContextHandler.ApproveAliases</a></span></code></th>
<td class="colLast">
<div class="block">Approve all aliases.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ContextHandler.ApproveNonExistentDirectoryAliases.html" title="class in org.eclipse.jetty.server.handler">ContextHandler.ApproveNonExistentDirectoryAliases</a></span></code></th>
<td class="colLast">
<div class="block">Approve Aliases of a non existent directory.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ContextHandler.Availability.html" title="enum in org.eclipse.jetty.server.handler">ContextHandler.Availability</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ContextHandler.Context.html" title="class in org.eclipse.jetty.server.handler">ContextHandler.Context</a></span></code></th>
<td class="colLast">
<div class="block">Context.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ContextHandler.ContextScopeListener.html" title="interface in org.eclipse.jetty.server.handler">ContextHandler.ContextScopeListener</a></span></code></th>
<td class="colLast">
<div class="block">Listener for all threads entering context scope, including async IO callbacks</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ContextHandler.ContextStatus.html" title="enum in org.eclipse.jetty.server.handler">ContextHandler.ContextStatus</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ContextHandler.StaticContext.html" title="class in org.eclipse.jetty.server.handler">ContextHandler.StaticContext</a></span></code></th>
<td class="colLast">
<div class="block">A simple implementation of ServletContext that is used when there is no
 ContextHandler.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.server.handler.AbstractHandler">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.eclipse.jetty.server.handler.<a href="AbstractHandler.html" title="class in org.eclipse.jetty.server.handler">AbstractHandler</a></h3>
<code><a href="AbstractHandler.ErrorDispatchHandler.html" title="class in org.eclipse.jetty.server.handler">AbstractHandler.ErrorDispatchHandler</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.component.AbstractLifeCycle">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></h3>
<code><a href="../../util/component/AbstractLifeCycle.AbstractLifeCycleListener.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle.AbstractLifeCycleListener</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.Attributes">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.<a href="../../util/Attributes.html" title="interface in org.eclipse.jetty.util">Attributes</a></h3>
<code><a href="../../util/Attributes.Wrapper.html" title="class in org.eclipse.jetty.util">Attributes.Wrapper</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.component.Container">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/Container.html" title="interface in org.eclipse.jetty.util.component">Container</a></h3>
<code><a href="../../util/component/Container.InheritedListener.html" title="interface in org.eclipse.jetty.util.component">Container.InheritedListener</a>, <a href="../../util/component/Container.Listener.html" title="interface in org.eclipse.jetty.util.component">Container.Listener</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.component.Dumpable">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></h3>
<code><a href="../../util/component/Dumpable.DumpableContainer.html" title="interface in org.eclipse.jetty.util.component">Dumpable.DumpableContainer</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.component.Graceful">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/Graceful.html" title="interface in org.eclipse.jetty.util.component">Graceful</a></h3>
<code><a href="../../util/component/Graceful.Shutdown.html" title="class in org.eclipse.jetty.util.component">Graceful.Shutdown</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.component.LifeCycle">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/LifeCycle.html" title="interface in org.eclipse.jetty.util.component">LifeCycle</a></h3>
<code><a href="../../util/component/LifeCycle.Listener.html" title="interface in org.eclipse.jetty.util.component">LifeCycle.Listener</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="ContextHandler.ContextStatus.html" title="enum in org.eclipse.jetty.server.handler">ContextHandler.ContextStatus</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#_contextStatus">_contextStatus</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="ContextHandler.Context.html" title="class in org.eclipse.jetty.server.handler">ContextHandler.Context</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#_scontext">_scontext</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DEFAULT_LISTENER_TYPE_INDEX">DEFAULT_LISTENER_TYPE_INDEX</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DEFAULT_MAX_FORM_CONTENT_SIZE">DEFAULT_MAX_FORM_CONTENT_SIZE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DEFAULT_MAX_FORM_KEYS">DEFAULT_MAX_FORM_KEYS</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EXTENDED_LISTENER_TYPE_INDEX">EXTENDED_LISTENER_TYPE_INDEX</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MANAGED_ATTRIBUTES">MANAGED_ATTRIBUTES</a></span></code></th>
<td class="colLast">
<div class="block">If a context attribute with this name is set, it is interpreted as a comma separated list of attribute name.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MAX_FORM_CONTENT_SIZE_KEY">MAX_FORM_CONTENT_SIZE_KEY</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MAX_FORM_KEYS_KEY">MAX_FORM_KEYS_KEY</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.Class&lt;?&gt;[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SERVLET_LISTENER_TYPES">SERVLET_LISTENER_TYPES</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SERVLET_MAJOR_VERSION">SERVLET_MAJOR_VERSION</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SERVLET_MINOR_VERSION">SERVLET_MINOR_VERSION</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.eclipse.jetty.server.handler.ScopedHandler">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.jetty.server.handler.<a href="ScopedHandler.html" title="class in org.eclipse.jetty.server.handler">ScopedHandler</a></h3>
<code><a href="ScopedHandler.html#_nextScope">_nextScope</a>, <a href="ScopedHandler.html#_outerScope">_outerScope</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.eclipse.jetty.server.handler.HandlerWrapper">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.jetty.server.handler.<a href="HandlerWrapper.html" title="class in org.eclipse.jetty.server.handler">HandlerWrapper</a></h3>
<code><a href="HandlerWrapper.html#_handler">_handler</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.eclipse.jetty.util.component.AbstractLifeCycle">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></h3>
<code><a href="../../util/component/AbstractLifeCycle.html#FAILED">FAILED</a>, <a href="../../util/component/AbstractLifeCycle.html#RUNNING">RUNNING</a>, <a href="../../util/component/AbstractLifeCycle.html#STARTED">STARTED</a>, <a href="../../util/component/AbstractLifeCycle.html#STARTING">STARTING</a>, <a href="../../util/component/AbstractLifeCycle.html#STOPPED">STOPPED</a>, <a href="../../util/component/AbstractLifeCycle.html#STOPPING">STOPPING</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.eclipse.jetty.util.component.Dumpable">
<!--   -->
</a>
<h3>Fields inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></h3>
<code><a href="../../util/component/Dumpable.html#KEY">KEY</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colSecond" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>&nbsp;</code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">ContextHandler</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&nbsp;</code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.String)">ContextHandler</a></span>&#8203;(java.lang.String&nbsp;contextPath)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.eclipse.jetty.server.handler.ContextHandler.Context)">ContextHandler</a></span>&#8203;(<a href="ContextHandler.Context.html" title="class in org.eclipse.jetty.server.handler">ContextHandler.Context</a>&nbsp;context)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&nbsp;</code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.eclipse.jetty.server.HandlerContainer,java.lang.String)">ContextHandler</a></span>&#8203;(<a href="../HandlerContainer.html" title="interface in org.eclipse.jetty.server">HandlerContainer</a>&nbsp;parent,
              java.lang.String&nbsp;contextPath)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addAliasCheck(org.eclipse.jetty.server.handler.ContextHandler.AliasCheck)">addAliasCheck</a></span>&#8203;(<a href="ContextHandler.AliasCheck.html" title="interface in org.eclipse.jetty.server.handler">ContextHandler.AliasCheck</a>&nbsp;check)</code></th>
<td class="colLast">
<div class="block">Add an AliasCheck instance to possibly permit aliased resources</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addEventListener(java.util.EventListener)">addEventListener</a></span>&#8203;(java.util.EventListener&nbsp;listener)</code></th>
<td class="colLast">
<div class="block">Add a context event listeners.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addLocaleEncoding(java.lang.String,java.lang.String)">addLocaleEncoding</a></span>&#8203;(java.lang.String&nbsp;locale,
                 java.lang.String&nbsp;encoding)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addProgrammaticListener(java.util.EventListener)">addProgrammaticListener</a></span>&#8203;(java.util.EventListener&nbsp;listener)</code></th>
<td class="colLast">
<div class="block">Apply any necessary restrictions on a programmatic added listener.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addVirtualHosts(java.lang.String%5B%5D)">addVirtualHosts</a></span>&#8203;(java.lang.String[]&nbsp;virtualHosts)</code></th>
<td class="colLast">
<div class="block">Either set virtual hosts or add to an existing set of virtual hosts.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#callContextDestroyed(javax.servlet.ServletContextListener,javax.servlet.ServletContextEvent)">callContextDestroyed</a></span>&#8203;(javax.servlet.ServletContextListener&nbsp;l,
                    javax.servlet.ServletContextEvent&nbsp;e)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#callContextInitialized(javax.servlet.ServletContextListener,javax.servlet.ServletContextEvent)">callContextInitialized</a></span>&#8203;(javax.servlet.ServletContextListener&nbsp;l,
                      javax.servlet.ServletContextEvent&nbsp;e)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkAlias(java.lang.String,org.eclipse.jetty.util.resource.Resource)">checkAlias</a></span>&#8203;(java.lang.String&nbsp;path,
          <a href="../../util/resource/Resource.html" title="class in org.eclipse.jetty.util.resource">Resource</a>&nbsp;resource)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkContext(java.lang.String,org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletResponse)">checkContext</a></span>&#8203;(java.lang.String&nbsp;target,
            <a href="../Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;baseRequest,
            javax.servlet.http.HttpServletResponse&nbsp;response)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkContextPath(java.lang.String)">checkContextPath</a></span>&#8203;(java.lang.String&nbsp;uri)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkVirtualHost(org.eclipse.jetty.server.Request)">checkVirtualHost</a></span>&#8203;(<a href="../Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;baseRequest)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clearAliasChecks()">clearAliasChecks</a></span>()</code></th>
<td class="colLast">
<div class="block">clear the list of AliasChecks</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clearAttributes()">clearAttributes</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#contextDestroyed()">contextDestroyed</a></span>()</code></th>
<td class="colLast">
<div class="block">Call the ServletContextListeners with contextDestroyed.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#contextInitialized()">contextInitialized</a></span>()</code></th>
<td class="colLast">
<div class="block">Call the ServletContextListeners contextInitialized methods.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#doHandle(java.lang.String,org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)">doHandle</a></span>&#8203;(java.lang.String&nbsp;target,
        <a href="../Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;baseRequest,
        javax.servlet.http.HttpServletRequest&nbsp;request,
        javax.servlet.http.HttpServletResponse&nbsp;response)</code></th>
<td class="colLast">
<div class="block">Do the handler work within the scope.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#doScope(java.lang.String,org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)">doScope</a></span>&#8203;(java.lang.String&nbsp;target,
       <a href="../Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;baseRequest,
       javax.servlet.http.HttpServletRequest&nbsp;request,
       javax.servlet.http.HttpServletResponse&nbsp;response)</code></th>
<td class="colLast">
<div class="block">Scope the handler</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#doStart()">doStart</a></span>()</code></th>
<td class="colLast">
<div class="block">Starts the managed lifecycle beans in the order they were added.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#doStop()">doStop</a></span>()</code></th>
<td class="colLast">
<div class="block">Stops the managed lifecycle beans in the reverse order they were added.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dump(java.lang.Appendable,java.lang.String)">dump</a></span>&#8203;(java.lang.Appendable&nbsp;out,
    java.lang.String&nbsp;indent)</code></th>
<td class="colLast">
<div class="block">Dump this object (and children) into an Appendable using the provided indent after any new lines.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#enterScope(org.eclipse.jetty.server.Request,java.lang.Object)">enterScope</a></span>&#8203;(<a href="../Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;request,
          java.lang.Object&nbsp;reason)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#exitScope(org.eclipse.jetty.server.Request)">exitScope</a></span>&#8203;(<a href="../Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;request)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="ContextHandler.AliasCheck.html" title="interface in org.eclipse.jetty.server.handler">ContextHandler.AliasCheck</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAliasChecks()">getAliasChecks</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAllowNullPathInfo()">getAllowNullPathInfo</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAttribute(java.lang.String)">getAttribute</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>java.util.Enumeration&lt;java.lang.String&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAttributeNames()">getAttributeNames</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAttributeNameSet()">getAttributeNameSet</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code><a href="../../util/Attributes.html" title="interface in org.eclipse.jetty.util">Attributes</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAttributes()">getAttributes</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code><a href="../../util/resource/Resource.html" title="class in org.eclipse.jetty.util.resource">Resource</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getBaseResource()">getBaseResource</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>java.lang.ClassLoader</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getClassLoader()">getClassLoader</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getClassPath()">getClassPath</a></span>()</code></th>
<td class="colLast">
<div class="block">Make best effort to extract a file classpath from the context classloader</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>static <a href="ContextHandler.html" title="class in org.eclipse.jetty.server.handler">ContextHandler</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getContextHandler(javax.servlet.ServletContext)">getContextHandler</a></span>&#8203;(javax.servlet.ServletContext&nbsp;context)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getContextPath()">getContextPath</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getContextPathEncoded()">getContextPathEncoded</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>static <a href="ContextHandler.Context.html" title="class in org.eclipse.jetty.server.handler">ContextHandler.Context</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCurrentContext()">getCurrentContext</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the current ServletContext implementation.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDisplayName()">getDisplayName</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code><a href="ErrorHandler.html" title="class in org.eclipse.jetty.server.handler">ErrorHandler</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getErrorHandler()">getErrorHandler</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>java.util.EventListener[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getEventListeners()">getEventListeners</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getInitParameter(java.lang.String)">getInitParameter</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>java.util.Enumeration&lt;java.lang.String&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getInitParameterNames()">getInitParameterNames</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getInitParams()">getInitParams</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLocaleEncoding(java.lang.String)">getLocaleEncoding</a></span>&#8203;(java.lang.String&nbsp;locale)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLocaleEncoding(java.util.Locale)">getLocaleEncoding</a></span>&#8203;(java.util.Locale&nbsp;locale)</code></th>
<td class="colLast">
<div class="block">Get the character encoding for a locale.</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLocaleEncodings()">getLocaleEncodings</a></span>()</code></th>
<td class="colLast">
<div class="block">Get all of the locale encodings</div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code><a href="../../util/log/Logger.html" title="interface in org.eclipse.jetty.util.log">Logger</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLogger()">getLogger</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxFormContentSize()">getMaxFormContentSize</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxFormKeys()">getMaxFormKeys</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code><a href="../../http/MimeTypes.html" title="class in org.eclipse.jetty.http">MimeTypes</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMimeTypes()">getMimeTypes</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>java.lang.String[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getProtectedTargets()">getProtectedTargets</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRequestContextPath()">getRequestContextPath</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the context path in a form suitable to be returned from <code>HttpServletRequest.getContextPath()</code>
 or <code>ServletContext.getContextPath()</code>.</div>
</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code><a href="../../util/resource/Resource.html" title="class in org.eclipse.jetty.util.resource">Resource</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getResource(java.lang.String)">getResource</a></span>&#8203;(java.lang.String&nbsp;path)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getResourceBase()">getResourceBase</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getResourcePaths(java.lang.String)">getResourcePaths</a></span>&#8203;(java.lang.String&nbsp;path)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getServerInfo()">getServerInfo</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code><a href="ContextHandler.Context.html" title="class in org.eclipse.jetty.server.handler">ContextHandler.Context</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getServletContext()">getServletContext</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>java.lang.String[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVirtualHosts()">getVirtualHosts</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the virtual hosts for the context.</div>
</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code>java.lang.String[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getWelcomeFiles()">getWelcomeFiles</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handle(java.lang.Runnable)">handle</a></span>&#8203;(java.lang.Runnable&nbsp;runnable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handle(org.eclipse.jetty.server.Request,java.lang.Runnable)">handle</a></span>&#8203;(<a href="../Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;request,
      java.lang.Runnable&nbsp;runnable)</code></th>
<td class="colLast">
<div class="block">Handle a runnable in the scope of this context and a particular request</div>
</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isAvailable()">isAvailable</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCompactPath()">isCompactPath</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDurableListener(java.util.EventListener)">isDurableListener</a></span>&#8203;(java.util.EventListener&nbsp;listener)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isProgrammaticListener(java.util.EventListener)">isProgrammaticListener</a></span>&#8203;(java.util.EventListener&nbsp;listener)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isProtectedTarget(java.lang.String)">isProtectedTarget</a></span>&#8203;(java.lang.String&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Check the target.</div>
</td>
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isShutdown()">isShutdown</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isUsingSecurityManager()">isUsingSecurityManager</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><code>java.lang.Class&lt;?&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#loadClass(java.lang.String)">loadClass</a></span>&#8203;(java.lang.String&nbsp;className)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i67" class="rowColor">
<td class="colFirst"><code><a href="../../util/resource/Resource.html" title="class in org.eclipse.jetty.util.resource">Resource</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newResource(java.lang.String)">newResource</a></span>&#8203;(java.lang.String&nbsp;urlOrPath)</code></th>
<td class="colLast">
<div class="block">Convert a URL or path to a Resource.</div>
</td>
</tr>
<tr id="i68" class="altColor">
<td class="colFirst"><code><a href="../../util/resource/Resource.html" title="class in org.eclipse.jetty.util.resource">Resource</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newResource(java.net.URI)">newResource</a></span>&#8203;(java.net.URI&nbsp;uri)</code></th>
<td class="colLast">
<div class="block">Convert URL to Resource wrapper for <a href="../../util/resource/Resource.html#newResource(java.net.URL)"><code>Resource.newResource(URL)</code></a> enables extensions to provide alternate resource implementations.</div>
</td>
</tr>
<tr id="i69" class="rowColor">
<td class="colFirst"><code><a href="../../util/resource/Resource.html" title="class in org.eclipse.jetty.util.resource">Resource</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newResource(java.net.URL)">newResource</a></span>&#8203;(java.net.URL&nbsp;url)</code></th>
<td class="colLast">
<div class="block">Convert URL to Resource wrapper for <a href="../../util/resource/Resource.html#newResource(java.net.URL)"><code>Resource.newResource(URL)</code></a> enables extensions to provide alternate resource implementations.</div>
</td>
</tr>
<tr id="i70" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeAttribute(java.lang.String)">removeAttribute</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i71" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeEventListener(java.util.EventListener)">removeEventListener</a></span>&#8203;(java.util.EventListener&nbsp;listener)</code></th>
<td class="colLast">
<div class="block">Remove a context event listeners.</div>
</td>
</tr>
<tr id="i72" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeVirtualHosts(java.lang.String%5B%5D)">removeVirtualHosts</a></span>&#8203;(java.lang.String[]&nbsp;virtualHosts)</code></th>
<td class="colLast">
<div class="block">Removes an array of virtual host entries, if this removes all entries the _vhosts will be set to null</div>
</td>
</tr>
<tr id="i73" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#requestDestroyed(org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest)">requestDestroyed</a></span>&#8203;(<a href="../Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;baseRequest,
                javax.servlet.http.HttpServletRequest&nbsp;request)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i74" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#requestInitialized(org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest)">requestInitialized</a></span>&#8203;(<a href="../Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;baseRequest,
                  javax.servlet.http.HttpServletRequest&nbsp;request)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i75" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAliasChecks(java.util.List)">setAliasChecks</a></span>&#8203;(java.util.List&lt;<a href="ContextHandler.AliasCheck.html" title="interface in org.eclipse.jetty.server.handler">ContextHandler.AliasCheck</a>&gt;&nbsp;checks)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i76" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAllowNullPathInfo(boolean)">setAllowNullPathInfo</a></span>&#8203;(boolean&nbsp;allowNullPathInfo)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i77" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAttribute(java.lang.String,java.lang.Object)">setAttribute</a></span>&#8203;(java.lang.String&nbsp;name,
            java.lang.Object&nbsp;value)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i78" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAttributes(org.eclipse.jetty.util.Attributes)">setAttributes</a></span>&#8203;(<a href="../../util/Attributes.html" title="interface in org.eclipse.jetty.util">Attributes</a>&nbsp;attributes)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i79" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAvailable(boolean)">setAvailable</a></span>&#8203;(boolean&nbsp;available)</code></th>
<td class="colLast">
<div class="block">Set Available status.</div>
</td>
</tr>
<tr id="i80" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setBaseResource(org.eclipse.jetty.util.resource.Resource)">setBaseResource</a></span>&#8203;(<a href="../../util/resource/Resource.html" title="class in org.eclipse.jetty.util.resource">Resource</a>&nbsp;base)</code></th>
<td class="colLast">
<div class="block">Set the base resource for this context.</div>
</td>
</tr>
<tr id="i81" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setClassLoader(java.lang.ClassLoader)">setClassLoader</a></span>&#8203;(java.lang.ClassLoader&nbsp;classLoader)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i82" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCompactPath(boolean)">setCompactPath</a></span>&#8203;(boolean&nbsp;compactPath)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i83" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setContextPath(java.lang.String)">setContextPath</a></span>&#8203;(java.lang.String&nbsp;contextPath)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i84" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDisplayName(java.lang.String)">setDisplayName</a></span>&#8203;(java.lang.String&nbsp;servletContextName)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i85" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setErrorHandler(org.eclipse.jetty.server.handler.ErrorHandler)">setErrorHandler</a></span>&#8203;(<a href="ErrorHandler.html" title="class in org.eclipse.jetty.server.handler">ErrorHandler</a>&nbsp;errorHandler)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i86" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setEventListeners(java.util.EventListener%5B%5D)">setEventListeners</a></span>&#8203;(java.util.EventListener[]&nbsp;eventListeners)</code></th>
<td class="colLast">
<div class="block">Set the context event listeners.</div>
</td>
</tr>
<tr id="i87" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setInitParameter(java.lang.String,java.lang.String)">setInitParameter</a></span>&#8203;(java.lang.String&nbsp;name,
                java.lang.String&nbsp;value)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i88" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setLogger(org.eclipse.jetty.util.log.Logger)">setLogger</a></span>&#8203;(<a href="../../util/log/Logger.html" title="interface in org.eclipse.jetty.util.log">Logger</a>&nbsp;logger)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i89" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setManagedAttribute(java.lang.String,java.lang.Object)">setManagedAttribute</a></span>&#8203;(java.lang.String&nbsp;name,
                   java.lang.Object&nbsp;value)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr id="i90" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxFormContentSize(int)">setMaxFormContentSize</a></span>&#8203;(int&nbsp;maxSize)</code></th>
<td class="colLast">
<div class="block">Set the maximum size of a form post, to protect against DOS attacks from large forms.</div>
</td>
</tr>
<tr id="i91" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxFormKeys(int)">setMaxFormKeys</a></span>&#8203;(int&nbsp;max)</code></th>
<td class="colLast">
<div class="block">Set the maximum number of form Keys to protect against DOS attack from crafted hash keys.</div>
</td>
</tr>
<tr id="i92" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMimeTypes(org.eclipse.jetty.http.MimeTypes)">setMimeTypes</a></span>&#8203;(<a href="../../http/MimeTypes.html" title="class in org.eclipse.jetty.http">MimeTypes</a>&nbsp;mimeTypes)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i93" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setProtectedTargets(java.lang.String%5B%5D)">setProtectedTargets</a></span>&#8203;(java.lang.String[]&nbsp;targets)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i94" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setResourceBase(java.lang.String)">setResourceBase</a></span>&#8203;(java.lang.String&nbsp;resourceBase)</code></th>
<td class="colLast">
<div class="block">Set the base resource for this context.</div>
</td>
</tr>
<tr id="i95" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setServer(org.eclipse.jetty.server.Server)">setServer</a></span>&#8203;(<a href="../Server.html" title="class in org.eclipse.jetty.server">Server</a>&nbsp;server)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i96" class="altColor">
<td class="colFirst"><code>static void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setServerInfo(java.lang.String)">setServerInfo</a></span>&#8203;(java.lang.String&nbsp;serverInfo)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i97" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setUsingSecurityManager(boolean)">setUsingSecurityManager</a></span>&#8203;(boolean&nbsp;usingSecurityManager)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i98" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVirtualHosts(java.lang.String%5B%5D)">setVirtualHosts</a></span>&#8203;(java.lang.String[]&nbsp;vhosts)</code></th>
<td class="colLast">
<div class="block">Set the virtual hosts for the context.</div>
</td>
</tr>
<tr id="i99" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setWelcomeFiles(java.lang.String%5B%5D)">setWelcomeFiles</a></span>&#8203;(java.lang.String[]&nbsp;files)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i100" class="altColor">
<td class="colFirst"><code>java.util.concurrent.Future&lt;java.lang.Void&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#shutdown()">shutdown</a></span>()</code></th>
<td class="colLast">
<div class="block">Set shutdown status.</div>
</td>
</tr>
<tr id="i101" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#startContext()">startContext</a></span>()</code></th>
<td class="colLast">
<div class="block">Extensible startContext.</div>
</td>
</tr>
<tr id="i102" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stopContext()">stopContext</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i103" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.server.handler.ScopedHandler">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.server.handler.<a href="ScopedHandler.html" title="class in org.eclipse.jetty.server.handler">ScopedHandler</a></h3>
<code><a href="ScopedHandler.html#handle(java.lang.String,org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)">handle</a>, <a href="ScopedHandler.html#nextHandle(java.lang.String,org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)">nextHandle</a>, <a href="ScopedHandler.html#nextScope(java.lang.String,org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)">nextScope</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.server.handler.HandlerWrapper">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.server.handler.<a href="HandlerWrapper.html" title="class in org.eclipse.jetty.server.handler">HandlerWrapper</a></h3>
<code><a href="HandlerWrapper.html#destroy()">destroy</a>, <a href="HandlerWrapper.html#expandChildren(java.util.List,java.lang.Class)">expandChildren</a>, <a href="HandlerWrapper.html#getHandler()">getHandler</a>, <a href="HandlerWrapper.html#getHandlers()">getHandlers</a>, <a href="HandlerWrapper.html#insertHandler(org.eclipse.jetty.server.handler.HandlerWrapper)">insertHandler</a>, <a href="HandlerWrapper.html#setHandler(org.eclipse.jetty.server.Handler)">setHandler</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.server.handler.AbstractHandlerContainer">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.server.handler.<a href="AbstractHandlerContainer.html" title="class in org.eclipse.jetty.server.handler">AbstractHandlerContainer</a></h3>
<code><a href="AbstractHandlerContainer.html#doShutdown(java.util.List)">doShutdown</a>, <a href="AbstractHandlerContainer.html#expandHandler(org.eclipse.jetty.server.Handler,java.util.List,java.lang.Class)">expandHandler</a>, <a href="AbstractHandlerContainer.html#findContainerOf(org.eclipse.jetty.server.HandlerContainer,java.lang.Class,org.eclipse.jetty.server.Handler)">findContainerOf</a>, <a href="AbstractHandlerContainer.html#getChildHandlerByClass(java.lang.Class)">getChildHandlerByClass</a>, <a href="AbstractHandlerContainer.html#getChildHandlers()">getChildHandlers</a>, <a href="AbstractHandlerContainer.html#getChildHandlersByClass(java.lang.Class)">getChildHandlersByClass</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.server.handler.AbstractHandler">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.server.handler.<a href="AbstractHandler.html" title="class in org.eclipse.jetty.server.handler">AbstractHandler</a></h3>
<code><a href="AbstractHandler.html#doError(java.lang.String,org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)">doError</a>, <a href="AbstractHandler.html#getServer()">getServer</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.util.component.ContainerLifeCycle">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/ContainerLifeCycle.html" title="class in org.eclipse.jetty.util.component">ContainerLifeCycle</a></h3>
<code><a href="../../util/component/ContainerLifeCycle.html#addBean(java.lang.Object)">addBean</a>, <a href="../../util/component/ContainerLifeCycle.html#addBean(java.lang.Object,boolean)">addBean</a>, <a href="../../util/component/ContainerLifeCycle.html#addEventListener(org.eclipse.jetty.util.component.Container.Listener)">addEventListener</a>, <a href="../../util/component/ContainerLifeCycle.html#addManaged(org.eclipse.jetty.util.component.LifeCycle)">addManaged</a>, <a href="../../util/component/ContainerLifeCycle.html#contains(java.lang.Object)">contains</a>, <a href="../../util/component/ContainerLifeCycle.html#dump()">dump</a>, <a href="../../util/component/ContainerLifeCycle.html#dump(java.lang.Appendable)">dump</a>, <a href="../../util/component/ContainerLifeCycle.html#dump(java.lang.Appendable,java.lang.String,java.util.Collection...)">dump</a>, <a href="../../util/component/ContainerLifeCycle.html#dump(org.eclipse.jetty.util.component.Dumpable)">dump</a>, <a href="../../util/component/ContainerLifeCycle.html#dumpBeans(java.lang.Appendable,java.lang.String,java.util.Collection...)">dumpBeans</a>, <a href="../../util/component/ContainerLifeCycle.html#dumpObject(java.lang.Appendable,java.lang.Object)">dumpObject</a>, <a href="../../util/component/ContainerLifeCycle.html#dumpObjects(java.lang.Appendable,java.lang.String,java.lang.Object...)">dumpObjects</a>, <a href="../../util/component/ContainerLifeCycle.html#dumpStdErr()">dumpStdErr</a>, <a href="../../util/component/ContainerLifeCycle.html#dumpThis(java.lang.Appendable)">dumpThis</a>, <a href="../../util/component/ContainerLifeCycle.html#getBean(java.lang.Class)">getBean</a>, <a href="../../util/component/ContainerLifeCycle.html#getBeans()">getBeans</a>, <a href="../../util/component/ContainerLifeCycle.html#getBeans(java.lang.Class)">getBeans</a>, <a href="../../util/component/ContainerLifeCycle.html#getContainedBeans(java.lang.Class)">getContainedBeans</a>, <a href="../../util/component/ContainerLifeCycle.html#getContainedBeans(java.lang.Class,java.util.Collection)">getContainedBeans</a>, <a href="../../util/component/ContainerLifeCycle.html#isAuto(java.lang.Object)">isAuto</a>, <a href="../../util/component/ContainerLifeCycle.html#isManaged(java.lang.Object)">isManaged</a>, <a href="../../util/component/ContainerLifeCycle.html#isUnmanaged(java.lang.Object)">isUnmanaged</a>, <a href="../../util/component/ContainerLifeCycle.html#manage(java.lang.Object)">manage</a>, <a href="../../util/component/ContainerLifeCycle.html#removeBean(java.lang.Object)">removeBean</a>, <a href="../../util/component/ContainerLifeCycle.html#removeBeans()">removeBeans</a>, <a href="../../util/component/ContainerLifeCycle.html#removeEventListener(org.eclipse.jetty.util.component.Container.Listener)">removeEventListener</a>, <a href="../../util/component/ContainerLifeCycle.html#setBeans(java.util.Collection)">setBeans</a>, <a href="../../util/component/ContainerLifeCycle.html#setStopTimeout(long)">setStopTimeout</a>, <a href="../../util/component/ContainerLifeCycle.html#start(org.eclipse.jetty.util.component.LifeCycle)">start</a>, <a href="../../util/component/ContainerLifeCycle.html#stop(org.eclipse.jetty.util.component.LifeCycle)">stop</a>, <a href="../../util/component/ContainerLifeCycle.html#unmanage(java.lang.Object)">unmanage</a>, <a href="../../util/component/ContainerLifeCycle.html#updateBean(java.lang.Object,java.lang.Object)">updateBean</a>, <a href="../../util/component/ContainerLifeCycle.html#updateBean(java.lang.Object,java.lang.Object,boolean)">updateBean</a>, <a href="../../util/component/ContainerLifeCycle.html#updateBeans(java.lang.Object%5B%5D,java.lang.Object%5B%5D)">updateBeans</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.util.component.AbstractLifeCycle">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></h3>
<code><a href="../../util/component/AbstractLifeCycle.html#addLifeCycleListener(org.eclipse.jetty.util.component.LifeCycle.Listener)">addLifeCycleListener</a>, <a href="../../util/component/AbstractLifeCycle.html#getState()">getState</a>, <a href="../../util/component/AbstractLifeCycle.html#getState(org.eclipse.jetty.util.component.LifeCycle)">getState</a>, <a href="../../util/component/AbstractLifeCycle.html#getStopTimeout()">getStopTimeout</a>, <a href="../../util/component/AbstractLifeCycle.html#isFailed()">isFailed</a>, <a href="../../util/component/AbstractLifeCycle.html#isRunning()">isRunning</a>, <a href="../../util/component/AbstractLifeCycle.html#isStarted()">isStarted</a>, <a href="../../util/component/AbstractLifeCycle.html#isStarting()">isStarting</a>, <a href="../../util/component/AbstractLifeCycle.html#isStopped()">isStopped</a>, <a href="../../util/component/AbstractLifeCycle.html#isStopping()">isStopping</a>, <a href="../../util/component/AbstractLifeCycle.html#removeLifeCycleListener(org.eclipse.jetty.util.component.LifeCycle.Listener)">removeLifeCycleListener</a>, <a href="../../util/component/AbstractLifeCycle.html#start()">start</a>, <a href="../../util/component/AbstractLifeCycle.html#stop()">stop</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.util.component.Dumpable">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></h3>
<code><a href="../../util/component/Dumpable.html#dumpSelf()">dumpSelf</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.util.component.Dumpable.DumpableContainer">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/Dumpable.DumpableContainer.html" title="interface in org.eclipse.jetty.util.component">Dumpable.DumpableContainer</a></h3>
<code><a href="../../util/component/Dumpable.DumpableContainer.html#isDumpable(java.lang.Object)">isDumpable</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.util.component.LifeCycle">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/LifeCycle.html" title="interface in org.eclipse.jetty.util.component">LifeCycle</a></h3>
<code><a href="../../util/component/LifeCycle.html#addLifeCycleListener(org.eclipse.jetty.util.component.LifeCycle.Listener)">addLifeCycleListener</a>, <a href="../../util/component/LifeCycle.html#isFailed()">isFailed</a>, <a href="../../util/component/LifeCycle.html#isRunning()">isRunning</a>, <a href="../../util/component/LifeCycle.html#isStarted()">isStarted</a>, <a href="../../util/component/LifeCycle.html#isStarting()">isStarting</a>, <a href="../../util/component/LifeCycle.html#isStopped()">isStopped</a>, <a href="../../util/component/LifeCycle.html#isStopping()">isStopping</a>, <a href="../../util/component/LifeCycle.html#removeLifeCycleListener(org.eclipse.jetty.util.component.LifeCycle.Listener)">removeLifeCycleListener</a>, <a href="../../util/component/LifeCycle.html#start()">start</a>, <a href="../../util/component/LifeCycle.html#stop()">stop</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a id="SERVLET_MAJOR_VERSION">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SERVLET_MAJOR_VERSION</h4>
<pre>public static final&nbsp;int SERVLET_MAJOR_VERSION</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.eclipse.jetty.server.handler.ContextHandler.SERVLET_MAJOR_VERSION">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="SERVLET_MINOR_VERSION">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SERVLET_MINOR_VERSION</h4>
<pre>public static final&nbsp;int SERVLET_MINOR_VERSION</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.eclipse.jetty.server.handler.ContextHandler.SERVLET_MINOR_VERSION">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="SERVLET_LISTENER_TYPES">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SERVLET_LISTENER_TYPES</h4>
<pre>public static final&nbsp;java.lang.Class&lt;?&gt;[] SERVLET_LISTENER_TYPES</pre>
</li>
</ul>
<a id="DEFAULT_LISTENER_TYPE_INDEX">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_LISTENER_TYPE_INDEX</h4>
<pre>public static final&nbsp;int DEFAULT_LISTENER_TYPE_INDEX</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.eclipse.jetty.server.handler.ContextHandler.DEFAULT_LISTENER_TYPE_INDEX">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="EXTENDED_LISTENER_TYPE_INDEX">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>EXTENDED_LISTENER_TYPE_INDEX</h4>
<pre>public static final&nbsp;int EXTENDED_LISTENER_TYPE_INDEX</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.eclipse.jetty.server.handler.ContextHandler.EXTENDED_LISTENER_TYPE_INDEX">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="MANAGED_ATTRIBUTES">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MANAGED_ATTRIBUTES</h4>
<pre>public static final&nbsp;java.lang.String MANAGED_ATTRIBUTES</pre>
<div class="block">If a context attribute with this name is set, it is interpreted as a comma separated list of attribute name. Any other context attributes that are set
 with a name from this list will result in a call to <a href="#setManagedAttribute(java.lang.String,java.lang.Object)"><code>setManagedAttribute(String, Object)</code></a>, which typically initiates the creation of a JMX MBean
 for the attribute value.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.eclipse.jetty.server.handler.ContextHandler.MANAGED_ATTRIBUTES">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="MAX_FORM_KEYS_KEY">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MAX_FORM_KEYS_KEY</h4>
<pre>public static final&nbsp;java.lang.String MAX_FORM_KEYS_KEY</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.eclipse.jetty.server.handler.ContextHandler.MAX_FORM_KEYS_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="MAX_FORM_CONTENT_SIZE_KEY">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MAX_FORM_CONTENT_SIZE_KEY</h4>
<pre>public static final&nbsp;java.lang.String MAX_FORM_CONTENT_SIZE_KEY</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.eclipse.jetty.server.handler.ContextHandler.MAX_FORM_CONTENT_SIZE_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DEFAULT_MAX_FORM_KEYS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_MAX_FORM_KEYS</h4>
<pre>public static final&nbsp;int DEFAULT_MAX_FORM_KEYS</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.eclipse.jetty.server.handler.ContextHandler.DEFAULT_MAX_FORM_KEYS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DEFAULT_MAX_FORM_CONTENT_SIZE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_MAX_FORM_CONTENT_SIZE</h4>
<pre>public static final&nbsp;int DEFAULT_MAX_FORM_CONTENT_SIZE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.eclipse.jetty.server.handler.ContextHandler.DEFAULT_MAX_FORM_CONTENT_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="_contextStatus">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>_contextStatus</h4>
<pre>protected&nbsp;<a href="ContextHandler.ContextStatus.html" title="enum in org.eclipse.jetty.server.handler">ContextHandler.ContextStatus</a> _contextStatus</pre>
</li>
</ul>
<a id="_scontext">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>_scontext</h4>
<pre>protected&nbsp;<a href="ContextHandler.Context.html" title="class in org.eclipse.jetty.server.handler">ContextHandler.Context</a> _scontext</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ContextHandler</h4>
<pre>public&nbsp;ContextHandler()</pre>
</li>
</ul>
<a id="&lt;init&gt;(org.eclipse.jetty.server.handler.ContextHandler.Context)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ContextHandler</h4>
<pre>protected&nbsp;ContextHandler&#8203;(<a href="ContextHandler.Context.html" title="class in org.eclipse.jetty.server.handler">ContextHandler.Context</a>&nbsp;context)</pre>
</li>
</ul>
<a id="&lt;init&gt;(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ContextHandler</h4>
<pre>public&nbsp;ContextHandler&#8203;(java.lang.String&nbsp;contextPath)</pre>
</li>
</ul>
<a id="&lt;init&gt;(org.eclipse.jetty.server.HandlerContainer,java.lang.String)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ContextHandler</h4>
<pre>public&nbsp;ContextHandler&#8203;(<a href="../HandlerContainer.html" title="interface in org.eclipse.jetty.server">HandlerContainer</a>&nbsp;parent,
                      java.lang.String&nbsp;contextPath)</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="getCurrentContext()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentContext</h4>
<pre class="methodSignature">public static&nbsp;<a href="ContextHandler.Context.html" title="class in org.eclipse.jetty.server.handler">ContextHandler.Context</a>&nbsp;getCurrentContext()</pre>
<div class="block">Get the current ServletContext implementation.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ServletContext implementation</dd>
</dl>
</li>
</ul>
<a id="getContextHandler(javax.servlet.ServletContext)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContextHandler</h4>
<pre class="methodSignature">public static&nbsp;<a href="ContextHandler.html" title="class in org.eclipse.jetty.server.handler">ContextHandler</a>&nbsp;getContextHandler&#8203;(javax.servlet.ServletContext&nbsp;context)</pre>
</li>
</ul>
<a id="getServerInfo()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServerInfo</h4>
<pre class="methodSignature">public static&nbsp;java.lang.String&nbsp;getServerInfo()</pre>
</li>
</ul>
<a id="setServerInfo(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setServerInfo</h4>
<pre class="methodSignature">public static&nbsp;void&nbsp;setServerInfo&#8203;(java.lang.String&nbsp;serverInfo)</pre>
</li>
</ul>
<a id="dump(java.lang.Appendable,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dump</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;dump&#8203;(java.lang.Appendable&nbsp;out,
                 java.lang.String&nbsp;indent)
          throws java.io.IOException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../util/component/Dumpable.html#dump(java.lang.Appendable,java.lang.String)">Dumpable</a></code></span></div>
<div class="block">Dump this object (and children) into an Appendable using the provided indent after any new lines.
 The indent should not be applied to the first object dumped.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../util/component/Dumpable.html#dump(java.lang.Appendable,java.lang.String)">dump</a></code>&nbsp;in interface&nbsp;<code><a href="../../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../util/component/ContainerLifeCycle.html#dump(java.lang.Appendable,java.lang.String)">dump</a></code>&nbsp;in class&nbsp;<code><a href="../../util/component/ContainerLifeCycle.html" title="class in org.eclipse.jetty.util.component">ContainerLifeCycle</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>out</code> - The appendable to dump to</dd>
<dd><code>indent</code> - The indent to apply after any new lines.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if unable to write to Appendable</dd>
</dl>
</li>
</ul>
<a id="getServletContext()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServletContext</h4>
<pre class="methodSignature">public&nbsp;<a href="ContextHandler.Context.html" title="class in org.eclipse.jetty.server.handler">ContextHandler.Context</a>&nbsp;getServletContext()</pre>
</li>
</ul>
<a id="getAllowNullPathInfo()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAllowNullPathInfo</h4>
<pre class="methodSignature"><a href="../../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("Checks if the /context is not redirected to /context/")
public&nbsp;boolean&nbsp;getAllowNullPathInfo()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the allowNullPathInfo true if /context is not redirected to /context/</dd>
</dl>
</li>
</ul>
<a id="setAllowNullPathInfo(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAllowNullPathInfo</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setAllowNullPathInfo&#8203;(boolean&nbsp;allowNullPathInfo)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>allowNullPathInfo</code> - true if /context is not redirected to /context/</dd>
</dl>
</li>
</ul>
<a id="setServer(org.eclipse.jetty.server.Server)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setServer</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setServer&#8203;(<a href="../Server.html" title="class in org.eclipse.jetty.server">Server</a>&nbsp;server)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Handler.html#setServer(org.eclipse.jetty.server.Server)">setServer</a></code>&nbsp;in interface&nbsp;<code><a href="../Handler.html" title="interface in org.eclipse.jetty.server">Handler</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AbstractHandlerContainer.html#setServer(org.eclipse.jetty.server.Server)">setServer</a></code>&nbsp;in class&nbsp;<code><a href="AbstractHandlerContainer.html" title="class in org.eclipse.jetty.server.handler">AbstractHandlerContainer</a></code></dd>
</dl>
</li>
</ul>
<a id="isUsingSecurityManager()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isUsingSecurityManager</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isUsingSecurityManager()</pre>
</li>
</ul>
<a id="setUsingSecurityManager(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUsingSecurityManager</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setUsingSecurityManager&#8203;(boolean&nbsp;usingSecurityManager)</pre>
</li>
</ul>
<a id="setVirtualHosts(java.lang.String[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setVirtualHosts</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setVirtualHosts&#8203;(java.lang.String[]&nbsp;vhosts)</pre>
<div class="block">Set the virtual hosts for the context. Only requests that have a matching host header or fully qualified URL will be passed to that context with a
 virtual host name. A context with no virtual host names or a null virtual host name is available to all requests that are not served by a context with a
 matching virtual host name.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>vhosts</code> - Array of virtual hosts that this context responds to. A null/empty array means any hostname is acceptable. Host names may be String
 representation of IP addresses. Host names may start with '*.' to wildcard one level of names. Hosts and wildcard hosts may be followed with
 '@connectorname', in which case they will match only if the the <a href="../Connector.html#getName()"><code>Connector.getName()</code></a> for the request also matches. If an entry is just
 '@connectorname' it will match any host if that connector was used.  Note - In previous versions if one or more connectorname only entries existed
 and non of the connectors matched the handler would not match regardless of any hostname entries.  If there is one or more connectorname only
 entries and one or more host only entries but no hostname and connector entries we assume the old behavior and will log a warning.  The warning
 can be removed by removing the host entries that were previously being ignored, or modifying to include a hostname and connectorname entry.</dd>
</dl>
</li>
</ul>
<a id="addVirtualHosts(java.lang.String[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addVirtualHosts</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;addVirtualHosts&#8203;(java.lang.String[]&nbsp;virtualHosts)</pre>
<div class="block">Either set virtual hosts or add to an existing set of virtual hosts.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>virtualHosts</code> - Array of virtual hosts that this context responds to. A null/empty array means any hostname is acceptable. Host names may be String
 representation of IP addresses. Host names may start with '*.' to wildcard one level of names. Hosts and wildcard hosts may be followed with
 '@connectorname', in which case they will match only if the the <a href="../Connector.html#getName()"><code>Connector.getName()</code></a> for the request also matches. If an entry is just
 '@connectorname' it will match any host if that connector was used.  Note - In previous versions if one or more connectorname only entries existed
 and non of the connectors matched the handler would not match regardless of any hostname entries.  If there is one or more connectorname only
 entries and one or more host only entries but no hostname and connector entries we assume the old behavior and will log a warning.  The warning
 can be removed by removing the host entries that were previously being ignored, or modifying to include a hostname and connectorname entry.</dd>
</dl>
</li>
</ul>
<a id="removeVirtualHosts(java.lang.String[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeVirtualHosts</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;removeVirtualHosts&#8203;(java.lang.String[]&nbsp;virtualHosts)</pre>
<div class="block">Removes an array of virtual host entries, if this removes all entries the _vhosts will be set to null</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>virtualHosts</code> - Array of virtual hosts that this context responds to. A null/empty array means any hostname is acceptable. Host names may be String
 representation of IP addresses. Host names may start with '*.' to wildcard one level of names. Hosts and wildcard hosts may be followed with
 '@connectorname', in which case they will match only if the the <a href="../Connector.html#getName()"><code>Connector.getName()</code></a> for the request also matches. If an entry is just
 '@connectorname' it will match any host if that connector was used.  Note - In previous versions if one or more connectorname only entries existed
 and non of the connectors matched the handler would not match regardless of any hostname entries.  If there is one or more connectorname only
 entries and one or more host only entries but no hostname and connector entries we assume the old behavior and will log a warning.  The warning
 can be removed by removing the host entries that were previously being ignored, or modifying to include a hostname and connectorname entry.</dd>
</dl>
</li>
</ul>
<a id="getVirtualHosts()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getVirtualHosts</h4>
<pre class="methodSignature"><a href="../../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>(<a href="../../util/annotation/ManagedAttribute.html#value()">value</a>="Virtual hosts accepted by the context",
                  <a href="../../util/annotation/ManagedAttribute.html#readonly()">readonly</a>=true)
public&nbsp;java.lang.String[]&nbsp;getVirtualHosts()</pre>
<div class="block">Get the virtual hosts for the context. Only requests that have a matching host header or fully qualified URL will be passed to that context with a
 virtual host name. A context with no virtual host names or a null virtual host name is available to all requests that are not served by a context with a
 matching virtual host name.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Array of virtual hosts that this context responds to. A null/empty array means any hostname is acceptable. Host names may be String
 representation of IP addresses. Host names may start with '*.' to wildcard one level of names. Hosts and wildcard hosts may be followed with
 '@connectorname', in which case they will match only if the the <a href="../Connector.html#getName()"><code>Connector.getName()</code></a> for the request also matches. If an entry is just
 '@connectorname' it will match any host if that connector was used.  Note - In previous versions if one or more connectorname only entries existed
 and non of the connectors matched the handler would not match regardless of any hostname entries.  If there is one or more connectorname only
 entries and one or more host only entries but no hostname and connector entries we assume the old behavior and will log a warning.  The warning
 can be removed by removing the host entries that were previously being ignored, or modifying to include a hostname and connectorname entry.</dd>
</dl>
</li>
</ul>
<a id="getAttribute(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttribute</h4>
<pre class="methodSignature">public&nbsp;java.lang.Object&nbsp;getAttribute&#8203;(java.lang.String&nbsp;name)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../util/Attributes.html#getAttribute(java.lang.String)">getAttribute</a></code>&nbsp;in interface&nbsp;<code><a href="../../util/Attributes.html" title="interface in org.eclipse.jetty.util">Attributes</a></code></dd>
</dl>
</li>
</ul>
<a id="getAttributeNames()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttributeNames</h4>
<pre class="methodSignature">public&nbsp;java.util.Enumeration&lt;java.lang.String&gt;&nbsp;getAttributeNames()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../util/Attributes.html#getAttributeNames()">getAttributeNames</a></code>&nbsp;in interface&nbsp;<code><a href="../../util/Attributes.html" title="interface in org.eclipse.jetty.util">Attributes</a></code></dd>
</dl>
</li>
</ul>
<a id="getAttributeNameSet()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttributeNameSet</h4>
<pre class="methodSignature">public&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;getAttributeNameSet()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../util/Attributes.html#getAttributeNameSet()">getAttributeNameSet</a></code>&nbsp;in interface&nbsp;<code><a href="../../util/Attributes.html" title="interface in org.eclipse.jetty.util">Attributes</a></code></dd>
</dl>
</li>
</ul>
<a id="getAttributes()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttributes</h4>
<pre class="methodSignature">public&nbsp;<a href="../../util/Attributes.html" title="interface in org.eclipse.jetty.util">Attributes</a>&nbsp;getAttributes()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns the attributes.</dd>
</dl>
</li>
</ul>
<a id="getClassLoader()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClassLoader</h4>
<pre class="methodSignature">public&nbsp;java.lang.ClassLoader&nbsp;getClassLoader()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns the classLoader.</dd>
</dl>
</li>
</ul>
<a id="getClassPath()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClassPath</h4>
<pre class="methodSignature"><a href="../../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("The file classpath")
public&nbsp;java.lang.String&nbsp;getClassPath()</pre>
<div class="block">Make best effort to extract a file classpath from the context classloader</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns the classLoader.</dd>
</dl>
</li>
</ul>
<a id="getContextPath()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContextPath</h4>
<pre class="methodSignature"><a href="../../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("True if URLs are compacted to replace the multiple \'/\'s with a single \'/\'")
public&nbsp;java.lang.String&nbsp;getContextPath()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns the contextPath.</dd>
</dl>
</li>
</ul>
<a id="getContextPathEncoded()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContextPathEncoded</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;getContextPathEncoded()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns the encoded contextPath.</dd>
</dl>
</li>
</ul>
<a id="getRequestContextPath()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRequestContextPath</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;getRequestContextPath()</pre>
<div class="block">Get the context path in a form suitable to be returned from <code>HttpServletRequest.getContextPath()</code>
 or <code>ServletContext.getContextPath()</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns the encoded contextPath, or empty string for root context</dd>
</dl>
</li>
</ul>
<a id="getInitParameter(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInitParameter</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;getInitParameter&#8203;(java.lang.String&nbsp;name)</pre>
</li>
</ul>
<a id="setInitParameter(java.lang.String,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInitParameter</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;setInitParameter&#8203;(java.lang.String&nbsp;name,
                                         java.lang.String&nbsp;value)</pre>
</li>
</ul>
<a id="getInitParameterNames()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInitParameterNames</h4>
<pre class="methodSignature">public&nbsp;java.util.Enumeration&lt;java.lang.String&gt;&nbsp;getInitParameterNames()</pre>
</li>
</ul>
<a id="getInitParams()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInitParams</h4>
<pre class="methodSignature"><a href="../../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("Initial Parameter map for the context")
public&nbsp;java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;getInitParams()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns the initParams.</dd>
</dl>
</li>
</ul>
<a id="getDisplayName()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDisplayName</h4>
<pre class="methodSignature"><a href="../../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>(<a href="../../util/annotation/ManagedAttribute.html#value()">value</a>="Display name of the Context",
                  <a href="../../util/annotation/ManagedAttribute.html#readonly()">readonly</a>=true)
public&nbsp;java.lang.String&nbsp;getDisplayName()</pre>
</li>
</ul>
<a id="getEventListeners()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEventListeners</h4>
<pre class="methodSignature">public&nbsp;java.util.EventListener[]&nbsp;getEventListeners()</pre>
</li>
</ul>
<a id="setEventListeners(java.util.EventListener[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEventListeners</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setEventListeners&#8203;(java.util.EventListener[]&nbsp;eventListeners)</pre>
<div class="block">Set the context event listeners.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>eventListeners</code> - the event listeners</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>ServletContextListener</code>, 
<code>ServletContextAttributeListener</code>, 
<code>ServletRequestListener</code>, 
<code>ServletRequestAttributeListener</code></dd>
</dl>
</li>
</ul>
<a id="addEventListener(java.util.EventListener)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addEventListener</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;addEventListener&#8203;(java.util.EventListener&nbsp;listener)</pre>
<div class="block">Add a context event listeners.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - the event listener to add</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>ServletContextListener</code>, 
<code>ServletContextAttributeListener</code>, 
<code>ServletRequestListener</code>, 
<code>ServletRequestAttributeListener</code></dd>
</dl>
</li>
</ul>
<a id="removeEventListener(java.util.EventListener)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeEventListener</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;removeEventListener&#8203;(java.util.EventListener&nbsp;listener)</pre>
<div class="block">Remove a context event listeners.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - the event listener to remove</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>ServletContextListener</code>, 
<code>ServletContextAttributeListener</code>, 
<code>ServletRequestListener</code>, 
<code>ServletRequestAttributeListener</code></dd>
</dl>
</li>
</ul>
<a id="addProgrammaticListener(java.util.EventListener)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addProgrammaticListener</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;addProgrammaticListener&#8203;(java.util.EventListener&nbsp;listener)</pre>
<div class="block">Apply any necessary restrictions on a programmatic added listener.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - the programmatic listener to add</dd>
</dl>
</li>
</ul>
<a id="isProgrammaticListener(java.util.EventListener)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isProgrammaticListener</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isProgrammaticListener&#8203;(java.util.EventListener&nbsp;listener)</pre>
</li>
</ul>
<a id="isDurableListener(java.util.EventListener)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDurableListener</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isDurableListener&#8203;(java.util.EventListener&nbsp;listener)</pre>
</li>
</ul>
<a id="isShutdown()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isShutdown</h4>
<pre class="methodSignature"><a href="../../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("true for graceful shutdown, which allows existing requests to complete")
public&nbsp;boolean&nbsp;isShutdown()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../util/component/Graceful.html#isShutdown()">isShutdown</a></code>&nbsp;in interface&nbsp;<code><a href="../../util/component/Graceful.html" title="interface in org.eclipse.jetty.util.component">Graceful</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this context is shutting down</dd>
</dl>
</li>
</ul>
<a id="shutdown()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shutdown</h4>
<pre class="methodSignature">public&nbsp;java.util.concurrent.Future&lt;java.lang.Void&gt;&nbsp;shutdown()</pre>
<div class="block">Set shutdown status. This field allows for graceful shutdown of a context. A started context may be put into non accepting state so that existing
 requests can complete, but no new requests are accepted.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../util/component/Graceful.html#shutdown()">shutdown</a></code>&nbsp;in interface&nbsp;<code><a href="../../util/component/Graceful.html" title="interface in org.eclipse.jetty.util.component">Graceful</a></code></dd>
</dl>
</li>
</ul>
<a id="isAvailable()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAvailable</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isAvailable()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>false if this context is unavailable (sends 503)</dd>
</dl>
</li>
</ul>
<a id="setAvailable(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAvailable</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setAvailable&#8203;(boolean&nbsp;available)</pre>
<div class="block">Set Available status.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>available</code> - true to set as enabled</dd>
</dl>
</li>
</ul>
<a id="getLogger()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLogger</h4>
<pre class="methodSignature">public&nbsp;<a href="../../util/log/Logger.html" title="interface in org.eclipse.jetty.util.log">Logger</a>&nbsp;getLogger()</pre>
</li>
</ul>
<a id="setLogger(org.eclipse.jetty.util.log.Logger)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLogger</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setLogger&#8203;(<a href="../../util/log/Logger.html" title="interface in org.eclipse.jetty.util.log">Logger</a>&nbsp;logger)</pre>
</li>
</ul>
<a id="doStart()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doStart</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;doStart()
                throws java.lang.Exception</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../util/component/ContainerLifeCycle.html#doStart()">ContainerLifeCycle</a></code></span></div>
<div class="block">Starts the managed lifecycle beans in the order they were added.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="ScopedHandler.html#doStart()">doStart</a></code>&nbsp;in class&nbsp;<code><a href="ScopedHandler.html" title="class in org.eclipse.jetty.server.handler">ScopedHandler</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="AbstractHandler.html#doStart()"><code>AbstractHandler.doStart()</code></a></dd>
</dl>
</li>
</ul>
<a id="startContext()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startContext</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;startContext()
                     throws java.lang.Exception</pre>
<div class="block">Extensible startContext. this method is called from <a href="#doStart()"><code>doStart()</code></a> instead of a call to super.doStart(). This allows derived classes to
 insert additional handling (Eg configuration) before the call to super.doStart by this method will start contained handlers.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - if unable to start the context</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="ContextHandler.Context.html" title="class in org.eclipse.jetty.server.handler"><code>ContextHandler.Context</code></a></dd>
</dl>
</li>
</ul>
<a id="contextInitialized()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>contextInitialized</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;contextInitialized()
                        throws java.lang.Exception</pre>
<div class="block">Call the ServletContextListeners contextInitialized methods.
 This can be called from a ServletHandler during the proper sequence
 of initializing filters, servlets and listeners. However, if there is
 no ServletHandler, the ContextHandler will call this method during
 doStart().</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="contextDestroyed()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>contextDestroyed</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;contextDestroyed()
                      throws java.lang.Exception</pre>
<div class="block">Call the ServletContextListeners with contextDestroyed.
 This method can be called from a ServletHandler in the
 proper sequence of destroying filters, servlets and listeners.
 If there is no ServletHandler, the ContextHandler must ensure
 these listeners are called instead.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="stopContext()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stopContext</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;stopContext()
                    throws java.lang.Exception</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="callContextInitialized(javax.servlet.ServletContextListener,javax.servlet.ServletContextEvent)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>callContextInitialized</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;callContextInitialized&#8203;(javax.servlet.ServletContextListener&nbsp;l,
                                      javax.servlet.ServletContextEvent&nbsp;e)</pre>
</li>
</ul>
<a id="callContextDestroyed(javax.servlet.ServletContextListener,javax.servlet.ServletContextEvent)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>callContextDestroyed</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;callContextDestroyed&#8203;(javax.servlet.ServletContextListener&nbsp;l,
                                    javax.servlet.ServletContextEvent&nbsp;e)</pre>
</li>
</ul>
<a id="doStop()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doStop</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;doStop()
               throws java.lang.Exception</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../util/component/ContainerLifeCycle.html#doStop()">ContainerLifeCycle</a></code></span></div>
<div class="block">Stops the managed lifecycle beans in the reverse order they were added.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AbstractHandler.html#doStop()">doStop</a></code>&nbsp;in class&nbsp;<code><a href="AbstractHandler.html" title="class in org.eclipse.jetty.server.handler">AbstractHandler</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="checkVirtualHost(org.eclipse.jetty.server.Request)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkVirtualHost</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;checkVirtualHost&#8203;(<a href="../Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;baseRequest)</pre>
</li>
</ul>
<a id="checkContextPath(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkContextPath</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;checkContextPath&#8203;(java.lang.String&nbsp;uri)</pre>
</li>
</ul>
<a id="checkContext(java.lang.String,org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletResponse)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkContext</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;checkContext&#8203;(java.lang.String&nbsp;target,
                            <a href="../Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;baseRequest,
                            javax.servlet.http.HttpServletResponse&nbsp;response)
                     throws java.io.IOException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a id="doScope(java.lang.String,org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doScope</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;doScope&#8203;(java.lang.String&nbsp;target,
                    <a href="../Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;baseRequest,
                    javax.servlet.http.HttpServletRequest&nbsp;request,
                    javax.servlet.http.HttpServletResponse&nbsp;response)
             throws java.io.IOException,
                    javax.servlet.ServletException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="ScopedHandler.html#doScope(java.lang.String,org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)">ScopedHandler</a></code></span></div>
<div class="block">Scope the handler
 <p>Derived implementations should call <a href="ScopedHandler.html#nextScope(java.lang.String,org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)"><code>ScopedHandler.nextScope(String, Request, HttpServletRequest, HttpServletResponse)</code></a></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="ScopedHandler.html#doScope(java.lang.String,org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)">doScope</a></code>&nbsp;in class&nbsp;<code><a href="ScopedHandler.html" title="class in org.eclipse.jetty.server.handler">ScopedHandler</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>target</code> - The target of the request - either a URI or a name.</dd>
<dd><code>baseRequest</code> - The original unwrapped request object.</dd>
<dd><code>request</code> - The request either as the <a href="../Request.html" title="class in org.eclipse.jetty.server"><code>Request</code></a> object or a wrapper of that request. The
 <code><a href="../HttpConnection.html#getCurrentConnection()"><code>HttpConnection.getCurrentConnection()</code></a>.<a href="../HttpConnection.html#getHttpChannel()"><code>getHttpChannel()</code></a>.<a href="../HttpChannel.html#getRequest()"><code>getRequest()</code></a></code>
 method can be used access the Request object if required.</dd>
<dd><code>response</code> - The response as the <a href="../Response.html" title="class in org.eclipse.jetty.server"><code>Response</code></a> object or a wrapper of that request. The
 <code><a href="../HttpConnection.html#getCurrentConnection()"><code>HttpConnection.getCurrentConnection()</code></a>.<a href="../HttpConnection.html#getHttpChannel()"><code>getHttpChannel()</code></a>.<a href="../HttpChannel.html#getResponse()"><code>getResponse()</code></a></code>
 method can be used access the Response object if required.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if unable to handle the request or response processing</dd>
<dd><code>javax.servlet.ServletException</code> - if unable to handle the request or response due to underlying servlet issue</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="ScopedHandler.html#doScope(java.lang.String,org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)"><code>ScopedHandler.doScope(java.lang.String, org.eclipse.jetty.server.Request, javax.servlet.http.HttpServletRequest,
 javax.servlet.http.HttpServletResponse)</code></a></dd>
</dl>
</li>
</ul>
<a id="requestInitialized(org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>requestInitialized</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;requestInitialized&#8203;(<a href="../Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;baseRequest,
                                  javax.servlet.http.HttpServletRequest&nbsp;request)</pre>
</li>
</ul>
<a id="requestDestroyed(org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>requestDestroyed</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;requestDestroyed&#8203;(<a href="../Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;baseRequest,
                                javax.servlet.http.HttpServletRequest&nbsp;request)</pre>
</li>
</ul>
<a id="doHandle(java.lang.String,org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doHandle</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;doHandle&#8203;(java.lang.String&nbsp;target,
                     <a href="../Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;baseRequest,
                     javax.servlet.http.HttpServletRequest&nbsp;request,
                     javax.servlet.http.HttpServletResponse&nbsp;response)
              throws java.io.IOException,
                     javax.servlet.ServletException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="ScopedHandler.html#doHandle(java.lang.String,org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)">ScopedHandler</a></code></span></div>
<div class="block">Do the handler work within the scope.
 <p>Derived implementations should call <a href="ScopedHandler.html#nextHandle(java.lang.String,org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)"><code>ScopedHandler.nextHandle(String, Request, HttpServletRequest, HttpServletResponse)</code></a></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ScopedHandler.html#doHandle(java.lang.String,org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)">doHandle</a></code>&nbsp;in class&nbsp;<code><a href="ScopedHandler.html" title="class in org.eclipse.jetty.server.handler">ScopedHandler</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>target</code> - The target of the request - either a URI or a name.</dd>
<dd><code>baseRequest</code> - The original unwrapped request object.</dd>
<dd><code>request</code> - The request either as the <a href="../Request.html" title="class in org.eclipse.jetty.server"><code>Request</code></a> object or a wrapper of that request. The
 <code><a href="../HttpConnection.html#getCurrentConnection()"><code>HttpConnection.getCurrentConnection()</code></a>.<a href="../HttpConnection.html#getHttpChannel()"><code>getHttpChannel()</code></a>.<a href="../HttpChannel.html#getRequest()"><code>getRequest()</code></a></code>
 method can be used access the Request object if required.</dd>
<dd><code>response</code> - The response as the <a href="../Response.html" title="class in org.eclipse.jetty.server"><code>Response</code></a> object or a wrapper of that request. The
 <code><a href="../HttpConnection.html#getCurrentConnection()"><code>HttpConnection.getCurrentConnection()</code></a>.<a href="../HttpConnection.html#getHttpChannel()"><code>getHttpChannel()</code></a>.<a href="../HttpChannel.html#getResponse()"><code>getResponse()</code></a></code>
 method can be used access the Response object if required.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if unable to handle the request or response processing</dd>
<dd><code>javax.servlet.ServletException</code> - if unable to handle the request or response due to underlying servlet issue</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="ScopedHandler.html#doHandle(java.lang.String,org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)"><code>ScopedHandler.doHandle(java.lang.String, org.eclipse.jetty.server.Request, javax.servlet.http.HttpServletRequest,
 javax.servlet.http.HttpServletResponse)</code></a></dd>
</dl>
</li>
</ul>
<a id="enterScope(org.eclipse.jetty.server.Request,java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enterScope</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;enterScope&#8203;(<a href="../Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;request,
                          java.lang.Object&nbsp;reason)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>request</code> - A request that is applicable to the scope, or null</dd>
<dd><code>reason</code> - An object that indicates the reason the scope is being entered.</dd>
</dl>
</li>
</ul>
<a id="exitScope(org.eclipse.jetty.server.Request)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>exitScope</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;exitScope&#8203;(<a href="../Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;request)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>request</code> - A request that is applicable to the scope, or null</dd>
</dl>
</li>
</ul>
<a id="handle(org.eclipse.jetty.server.Request,java.lang.Runnable)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handle</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;handle&#8203;(<a href="../Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;request,
                   java.lang.Runnable&nbsp;runnable)</pre>
<div class="block">Handle a runnable in the scope of this context and a particular request</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>request</code> - The request to scope the thread to (may be null if no particular request is in scope)</dd>
<dd><code>runnable</code> - The runnable to run.</dd>
</dl>
</li>
</ul>
<a id="handle(java.lang.Runnable)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handle</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;handle&#8203;(java.lang.Runnable&nbsp;runnable)</pre>
</li>
</ul>
<a id="isProtectedTarget(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isProtectedTarget</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isProtectedTarget&#8203;(java.lang.String&nbsp;target)</pre>
<div class="block">Check the target. Called by <a href="ScopedHandler.html#handle(java.lang.String,org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)"><code>ScopedHandler.handle(String, Request, HttpServletRequest, HttpServletResponse)</code></a> when a target within a context is determined. If
 the target is protected, 404 is returned.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>target</code> - the target to test</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if target is a protected target</dd>
</dl>
</li>
</ul>
<a id="setProtectedTargets(java.lang.String[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProtectedTargets</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setProtectedTargets&#8203;(java.lang.String[]&nbsp;targets)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>targets</code> - Array of URL prefix. Each prefix is in the form /path and will match either /path exactly or /path/anything</dd>
</dl>
</li>
</ul>
<a id="getProtectedTargets()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProtectedTargets</h4>
<pre class="methodSignature">public&nbsp;java.lang.String[]&nbsp;getProtectedTargets()</pre>
</li>
</ul>
<a id="removeAttribute(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeAttribute</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;removeAttribute&#8203;(java.lang.String&nbsp;name)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../util/Attributes.html#removeAttribute(java.lang.String)">removeAttribute</a></code>&nbsp;in interface&nbsp;<code><a href="../../util/Attributes.html" title="interface in org.eclipse.jetty.util">Attributes</a></code></dd>
</dl>
</li>
</ul>
<a id="setAttribute(java.lang.String,java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAttribute</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setAttribute&#8203;(java.lang.String&nbsp;name,
                         java.lang.Object&nbsp;value)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../util/Attributes.html#setAttribute(java.lang.String,java.lang.Object)">setAttribute</a></code>&nbsp;in interface&nbsp;<code><a href="../../util/Attributes.html" title="interface in org.eclipse.jetty.util">Attributes</a></code></dd>
</dl>
</li>
</ul>
<a id="setAttributes(org.eclipse.jetty.util.Attributes)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAttributes</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setAttributes&#8203;(<a href="../../util/Attributes.html" title="interface in org.eclipse.jetty.util">Attributes</a>&nbsp;attributes)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>attributes</code> - The attributes to set.</dd>
</dl>
</li>
</ul>
<a id="clearAttributes()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearAttributes</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;clearAttributes()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../util/Attributes.html#clearAttributes()">clearAttributes</a></code>&nbsp;in interface&nbsp;<code><a href="../../util/Attributes.html" title="interface in org.eclipse.jetty.util">Attributes</a></code></dd>
</dl>
</li>
</ul>
<a id="setManagedAttribute(java.lang.String,java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setManagedAttribute</h4>
<pre class="methodSignature">@Deprecated
public&nbsp;void&nbsp;setManagedAttribute&#8203;(java.lang.String&nbsp;name,
                                java.lang.Object&nbsp;value)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
</li>
</ul>
<a id="setClassLoader(java.lang.ClassLoader)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setClassLoader</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setClassLoader&#8203;(java.lang.ClassLoader&nbsp;classLoader)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>classLoader</code> - The classLoader to set.</dd>
</dl>
</li>
</ul>
<a id="setContextPath(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setContextPath</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setContextPath&#8203;(java.lang.String&nbsp;contextPath)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>contextPath</code> - The _contextPath to set.</dd>
</dl>
</li>
</ul>
<a id="setDisplayName(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDisplayName</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setDisplayName&#8203;(java.lang.String&nbsp;servletContextName)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>servletContextName</code> - The servletContextName to set.</dd>
</dl>
</li>
</ul>
<a id="getBaseResource()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBaseResource</h4>
<pre class="methodSignature">public&nbsp;<a href="../../util/resource/Resource.html" title="class in org.eclipse.jetty.util.resource">Resource</a>&nbsp;getBaseResource()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns the resourceBase.</dd>
</dl>
</li>
</ul>
<a id="getResourceBase()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResourceBase</h4>
<pre class="methodSignature"><a href="../../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("document root for context")
public&nbsp;java.lang.String&nbsp;getResourceBase()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns the base resource as a string.</dd>
</dl>
</li>
</ul>
<a id="setBaseResource(org.eclipse.jetty.util.resource.Resource)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setBaseResource</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setBaseResource&#8203;(<a href="../../util/resource/Resource.html" title="class in org.eclipse.jetty.util.resource">Resource</a>&nbsp;base)</pre>
<div class="block">Set the base resource for this context.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>base</code> - The resource used as the base for all static content of this context.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#setResourceBase(java.lang.String)"><code>setResourceBase(String)</code></a></dd>
</dl>
</li>
</ul>
<a id="setResourceBase(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setResourceBase</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setResourceBase&#8203;(java.lang.String&nbsp;resourceBase)</pre>
<div class="block">Set the base resource for this context.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>resourceBase</code> - A string representing the base resource for the context. Any string accepted by <a href="../../util/resource/Resource.html#newResource(java.lang.String)"><code>Resource.newResource(String)</code></a> may be passed and the
 call is equivalent to <code>setBaseResource(newResource(resourceBase));</code></dd>
</dl>
</li>
</ul>
<a id="getMimeTypes()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMimeTypes</h4>
<pre class="methodSignature">public&nbsp;<a href="../../http/MimeTypes.html" title="class in org.eclipse.jetty.http">MimeTypes</a>&nbsp;getMimeTypes()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns the mimeTypes.</dd>
</dl>
</li>
</ul>
<a id="setMimeTypes(org.eclipse.jetty.http.MimeTypes)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMimeTypes</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setMimeTypes&#8203;(<a href="../../http/MimeTypes.html" title="class in org.eclipse.jetty.http">MimeTypes</a>&nbsp;mimeTypes)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>mimeTypes</code> - The mimeTypes to set.</dd>
</dl>
</li>
</ul>
<a id="setWelcomeFiles(java.lang.String[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setWelcomeFiles</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setWelcomeFiles&#8203;(java.lang.String[]&nbsp;files)</pre>
</li>
</ul>
<a id="getWelcomeFiles()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWelcomeFiles</h4>
<pre class="methodSignature"><a href="../../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>(<a href="../../util/annotation/ManagedAttribute.html#value()">value</a>="Partial URIs of directory welcome files",
                  <a href="../../util/annotation/ManagedAttribute.html#readonly()">readonly</a>=true)
public&nbsp;java.lang.String[]&nbsp;getWelcomeFiles()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The names of the files which the server should consider to be welcome files in this context.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="http://jcp.org/aboutJava/communityprocess/final/jsr154/index.html">The Servlet Specification</a>, 
<a href="#setWelcomeFiles(java.lang.String%5B%5D)"><code>setWelcomeFiles(java.lang.String[])</code></a></dd>
</dl>
</li>
</ul>
<a id="getErrorHandler()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getErrorHandler</h4>
<pre class="methodSignature"><a href="../../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("The error handler to use for the context")
public&nbsp;<a href="ErrorHandler.html" title="class in org.eclipse.jetty.server.handler">ErrorHandler</a>&nbsp;getErrorHandler()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns the errorHandler.</dd>
</dl>
</li>
</ul>
<a id="setErrorHandler(org.eclipse.jetty.server.handler.ErrorHandler)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setErrorHandler</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setErrorHandler&#8203;(<a href="ErrorHandler.html" title="class in org.eclipse.jetty.server.handler">ErrorHandler</a>&nbsp;errorHandler)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>errorHandler</code> - The errorHandler to set.</dd>
</dl>
</li>
</ul>
<a id="getMaxFormContentSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxFormContentSize</h4>
<pre class="methodSignature"><a href="../../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("The maximum content size")
public&nbsp;int&nbsp;getMaxFormContentSize()</pre>
</li>
</ul>
<a id="setMaxFormContentSize(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxFormContentSize</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setMaxFormContentSize&#8203;(int&nbsp;maxSize)</pre>
<div class="block">Set the maximum size of a form post, to protect against DOS attacks from large forms.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>maxSize</code> - the maximum size of the form content (in bytes)</dd>
</dl>
</li>
</ul>
<a id="getMaxFormKeys()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxFormKeys</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getMaxFormKeys()</pre>
</li>
</ul>
<a id="setMaxFormKeys(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxFormKeys</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setMaxFormKeys&#8203;(int&nbsp;max)</pre>
<div class="block">Set the maximum number of form Keys to protect against DOS attack from crafted hash keys.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>max</code> - the maximum number of form keys</dd>
</dl>
</li>
</ul>
<a id="isCompactPath()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCompactPath</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isCompactPath()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if URLs are compacted to replace multiple '/'s with a single '/'</dd>
</dl>
</li>
</ul>
<a id="setCompactPath(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCompactPath</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setCompactPath&#8203;(boolean&nbsp;compactPath)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>compactPath</code> - True if URLs are compacted to replace multiple '/'s with a single '/'</dd>
</dl>
</li>
</ul>
<a id="toString()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../util/component/AbstractLifeCycle.html#toString()">toString</a></code>&nbsp;in class&nbsp;<code><a href="../../util/component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></code></dd>
</dl>
</li>
</ul>
<a id="loadClass(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>loadClass</h4>
<pre class="methodSignature">public&nbsp;java.lang.Class&lt;?&gt;&nbsp;loadClass&#8203;(java.lang.String&nbsp;className)
                             throws java.lang.ClassNotFoundException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.ClassNotFoundException</code></dd>
</dl>
</li>
</ul>
<a id="addLocaleEncoding(java.lang.String,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addLocaleEncoding</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;addLocaleEncoding&#8203;(java.lang.String&nbsp;locale,
                              java.lang.String&nbsp;encoding)</pre>
</li>
</ul>
<a id="getLocaleEncoding(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocaleEncoding</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;getLocaleEncoding&#8203;(java.lang.String&nbsp;locale)</pre>
</li>
</ul>
<a id="getLocaleEncoding(java.util.Locale)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocaleEncoding</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;getLocaleEncoding&#8203;(java.util.Locale&nbsp;locale)</pre>
<div class="block">Get the character encoding for a locale. The full locale name is first looked up in the map of encodings. If no encoding is found, then the locale
 language is looked up.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>locale</code> - a <code>Locale</code> value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <code>String</code> representing the character encoding for the locale or null if none found.</dd>
</dl>
</li>
</ul>
<a id="getLocaleEncodings()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocaleEncodings</h4>
<pre class="methodSignature">public&nbsp;java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;getLocaleEncodings()</pre>
<div class="block">Get all of the locale encodings</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a map of all the locale encodings: key is name of the locale and value is the char encoding</dd>
</dl>
</li>
</ul>
<a id="getResource(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResource</h4>
<pre class="methodSignature">public&nbsp;<a href="../../util/resource/Resource.html" title="class in org.eclipse.jetty.util.resource">Resource</a>&nbsp;getResource&#8203;(java.lang.String&nbsp;path)
                     throws java.net.MalformedURLException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.net.MalformedURLException</code></dd>
</dl>
</li>
</ul>
<a id="checkAlias(java.lang.String,org.eclipse.jetty.util.resource.Resource)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkAlias</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;checkAlias&#8203;(java.lang.String&nbsp;path,
                          <a href="../../util/resource/Resource.html" title="class in org.eclipse.jetty.util.resource">Resource</a>&nbsp;resource)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>path</code> - the path to check the alias for</dd>
<dd><code>resource</code> - the resource</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the alias is OK</dd>
</dl>
</li>
</ul>
<a id="newResource(java.net.URL)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newResource</h4>
<pre class="methodSignature">public&nbsp;<a href="../../util/resource/Resource.html" title="class in org.eclipse.jetty.util.resource">Resource</a>&nbsp;newResource&#8203;(java.net.URL&nbsp;url)
                     throws java.io.IOException</pre>
<div class="block">Convert URL to Resource wrapper for <a href="../../util/resource/Resource.html#newResource(java.net.URL)"><code>Resource.newResource(URL)</code></a> enables extensions to provide alternate resource implementations.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>url</code> - the url to convert to a Resource</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Resource for that url</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if unable to create a Resource from the URL</dd>
</dl>
</li>
</ul>
<a id="newResource(java.net.URI)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newResource</h4>
<pre class="methodSignature">public&nbsp;<a href="../../util/resource/Resource.html" title="class in org.eclipse.jetty.util.resource">Resource</a>&nbsp;newResource&#8203;(java.net.URI&nbsp;uri)
                     throws java.io.IOException</pre>
<div class="block">Convert URL to Resource wrapper for <a href="../../util/resource/Resource.html#newResource(java.net.URL)"><code>Resource.newResource(URL)</code></a> enables extensions to provide alternate resource implementations.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>uri</code> - the URI to convert to a Resource</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Resource for that URI</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if unable to create a Resource from the URL</dd>
</dl>
</li>
</ul>
<a id="newResource(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newResource</h4>
<pre class="methodSignature">public&nbsp;<a href="../../util/resource/Resource.html" title="class in org.eclipse.jetty.util.resource">Resource</a>&nbsp;newResource&#8203;(java.lang.String&nbsp;urlOrPath)
                     throws java.io.IOException</pre>
<div class="block">Convert a URL or path to a Resource. The default implementation is a wrapper for <a href="../../util/resource/Resource.html#newResource(java.lang.String)"><code>Resource.newResource(String)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>urlOrPath</code> - The URL or path to convert</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The Resource for the URL/path</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - The Resource could not be created.</dd>
</dl>
</li>
</ul>
<a id="getResourcePaths(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResourcePaths</h4>
<pre class="methodSignature">public&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;getResourcePaths&#8203;(java.lang.String&nbsp;path)</pre>
</li>
</ul>
<a id="addAliasCheck(org.eclipse.jetty.server.handler.ContextHandler.AliasCheck)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addAliasCheck</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;addAliasCheck&#8203;(<a href="ContextHandler.AliasCheck.html" title="interface in org.eclipse.jetty.server.handler">ContextHandler.AliasCheck</a>&nbsp;check)</pre>
<div class="block">Add an AliasCheck instance to possibly permit aliased resources</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>check</code> - The alias checker</dd>
</dl>
</li>
</ul>
<a id="getAliasChecks()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAliasChecks</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;<a href="ContextHandler.AliasCheck.html" title="interface in org.eclipse.jetty.server.handler">ContextHandler.AliasCheck</a>&gt;&nbsp;getAliasChecks()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Mutable list of Alias checks</dd>
</dl>
</li>
</ul>
<a id="setAliasChecks(java.util.List)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAliasChecks</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setAliasChecks&#8203;(java.util.List&lt;<a href="ContextHandler.AliasCheck.html" title="interface in org.eclipse.jetty.server.handler">ContextHandler.AliasCheck</a>&gt;&nbsp;checks)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>checks</code> - list of AliasCheck instances</dd>
</dl>
</li>
</ul>
<a id="clearAliasChecks()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>clearAliasChecks</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;clearAliasChecks()</pre>
<div class="block">clear the list of AliasChecks</div>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ContextHandler.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 1995&#x2013;2021 <a href="https://webtide.com">Webtide</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
