Package org.eclipse.jetty.server.handler
Class ContextHandlerCollection
- java.lang.Object
-
- org.eclipse.jetty.util.component.AbstractLifeCycle
-
- org.eclipse.jetty.util.component.ContainerLifeCycle
-
- org.eclipse.jetty.server.handler.AbstractHandler
-
- org.eclipse.jetty.server.handler.AbstractHandlerContainer
-
- org.eclipse.jetty.server.handler.HandlerCollection
-
- org.eclipse.jetty.server.handler.ContextHandlerCollection
-
- All Implemented Interfaces:
Handler
,HandlerContainer
,Container
,Destroyable
,Dumpable
,Dumpable.DumpableContainer
,LifeCycle
@ManagedObject("Context Handler Collection") public class ContextHandlerCollection extends HandlerCollection
ThisHandlerCollection
is creates a Map of contexts to it's contained handlers based on the context path and virtual hosts of any containedContextHandler
s. The contexts do not need to be directly contained, only children of the contained handlers. Multiple contexts may have the same context path and they are called in order until one handles the request.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jetty.server.handler.HandlerCollection
HandlerCollection.Handlers
-
Nested classes/interfaces inherited from class org.eclipse.jetty.server.handler.AbstractHandler
AbstractHandler.ErrorDispatchHandler
-
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
Container.InheritedListener, Container.Listener
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
Dumpable.DumpableContainer
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener
-
-
Field Summary
-
Fields inherited from class org.eclipse.jetty.server.handler.HandlerCollection
_handlers
-
-
Constructor Summary
Constructors Constructor Description ContextHandlerCollection()
ContextHandlerCollection(ContextHandler... contexts)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description ContextHandler
addContext(java.lang.String contextPath, java.lang.String resourceBase)
Deprecated.Unused convenience method no longer supported.void
deployHandler(Handler handler, Callback callback)
Thread safe deploy of a Handler.java.lang.Class<?>
getContextClass()
Deprecated.Unused convenience mechanism not used.void
handle(java.lang.String target, Request baseRequest, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Handle a request.void
mapContexts()
Remap the contexts.protected HandlerCollection.Handlers
newHandlers(Handler[] handlers)
void
setContextClass(java.lang.Class<? extends ContextHandler> contextClass)
Deprecated.Unused convenience mechanism not used.void
undeployHandler(Handler handler, Callback callback)
Thread safe undeploy of a Handler.-
Methods inherited from class org.eclipse.jetty.server.handler.HandlerCollection
addHandler, destroy, expandChildren, getHandlers, prependHandler, removeHandler, setHandlers, updateHandlers
-
Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandlerContainer
doShutdown, expandHandler, findContainerOf, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass, setServer
-
Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandler
doError, doStart, doStop, getServer
-
Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, dump, dump, dump, dump, dump, dumpBeans, dumpObject, dumpObjects, dumpStdErr, dumpThis, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeans
-
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpable
-
Methods inherited from interface org.eclipse.jetty.util.component.LifeCycle
addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
-
-
-
-
Constructor Detail
-
ContextHandlerCollection
public ContextHandlerCollection()
-
ContextHandlerCollection
public ContextHandlerCollection(ContextHandler... contexts)
-
-
Method Detail
-
mapContexts
@ManagedOperation("Update the mapping of context path to context") public void mapContexts()
Remap the contexts. Normally this is not required as context mapping is maintained as a side effect ofHandlerCollection.setHandlers(Handler[])
However, if configuration changes in the deep handler structure (eg contextpath is changed), then this call will trigger a remapping. This method is mutually excluded fromdeployHandler(Handler, Callback)
andundeployHandler(Handler, Callback)
-
newHandlers
protected HandlerCollection.Handlers newHandlers(Handler[] handlers)
- Overrides:
newHandlers
in classHandlerCollection
-
handle
public void handle(java.lang.String target, Request baseRequest, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException
Description copied from interface:Handler
Handle a request.- Specified by:
handle
in interfaceHandler
- Overrides:
handle
in classHandlerCollection
- Parameters:
target
- The target of the request - either a URI or a name.baseRequest
- The original unwrapped request object.request
- The request either as theRequest
object or a wrapper of that request. The
method can be used access the Request object if required.HttpConnection.getCurrentConnection()
.getHttpChannel()
.getRequest()
response
- The response as theResponse
object or a wrapper of that request. The
method can be used access the Response object if required.HttpConnection.getCurrentConnection()
.getHttpChannel()
.getResponse()
- Throws:
java.io.IOException
- if unable to handle the request or response processingjavax.servlet.ServletException
- if unable to handle the request or response due to underlying servlet issue
-
addContext
@Deprecated public ContextHandler addContext(java.lang.String contextPath, java.lang.String resourceBase)
Deprecated.Unused convenience method no longer supported.Adds a context handler.- Parameters:
contextPath
- The context path to addresourceBase
- the base (root) Resource- Returns:
- the ContextHandler just added
-
deployHandler
public void deployHandler(Handler handler, Callback callback)
Thread safe deploy of a Handler.This method is the equivalent of
HandlerCollection.addHandler(Handler)
, but its execution is non-block and mutually excluded from all other calls todeployHandler(Handler, Callback)
andundeployHandler(Handler, Callback)
. The handler may be added after this call returns.- Parameters:
handler
- the handler to deploycallback
- Called after handler has been added
-
undeployHandler
public void undeployHandler(Handler handler, Callback callback)
Thread safe undeploy of a Handler.This method is the equivalent of
HandlerCollection.removeHandler(Handler)
, but its execution is non-block and mutually excluded from all other calls todeployHandler(Handler, Callback)
andundeployHandler(Handler, Callback)
. The handler may be removed after this call returns.- Parameters:
handler
- The handler to undeploycallback
- Called after handler has been removed
-
getContextClass
@Deprecated public java.lang.Class<?> getContextClass()
Deprecated.Unused convenience mechanism not used.- Returns:
- The class to use to add new Contexts
-
setContextClass
@Deprecated public void setContextClass(java.lang.Class<? extends ContextHandler> contextClass)
Deprecated.Unused convenience mechanism not used.- Parameters:
contextClass
- The class to use to add new Contexts
-
-