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
This
HandlerCollection is creates a
Map of contexts to it's contained handlers based
on the context path and virtual hosts of any contained ContextHandlers.
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.HandlersNested classes/interfaces inherited from class org.eclipse.jetty.server.handler.AbstractHandler
AbstractHandler.ErrorDispatchHandlerNested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener, AbstractLifeCycle.StopExceptionNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
Container.InheritedListener, Container.ListenerNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
Dumpable.DumpableContainerNested 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 -
Method Summary
Modifier and TypeMethodDescriptionvoiddeployHandler(Handler handler, Callback callback) Thread safe deploy of a Handler.voidhandle(String target, Request baseRequest, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) Handle a request.voidRemap the contexts.protected HandlerCollection.HandlersnewHandlers(Handler[] handlers) voidundeployHandler(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, updateHandlersMethods inherited from class org.eclipse.jetty.server.handler.AbstractHandlerContainer
expandHandler, findContainerOf, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass, setServerMethods inherited from class org.eclipse.jetty.server.handler.AbstractHandler
doError, doStart, doStop, getServerMethods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, dump, dump, dump, dumpObjects, dumpStdErr, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, start, stop, unmanage, updateBean, updateBean, updateBeans, updateBeansMethods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
getEventListeners, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, setEventListeners, start, stop, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.jetty.util.component.Container
getCachedBeans, getEventListenersMethods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpableMethods inherited from interface org.eclipse.jetty.util.component.LifeCycle
addEventListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeEventListener, start, stop
-
Constructor Details
-
ContextHandlerCollection
public ContextHandlerCollection() -
ContextHandlerCollection
-
-
Method Details
-
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
- Overrides:
newHandlersin classHandlerCollection
-
handle
public void handle(String target, Request baseRequest, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws IOException, javax.servlet.ServletException Description copied from interface:HandlerHandle a request.- Specified by:
handlein interfaceHandler- Overrides:
handlein 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 theRequestobject or a wrapper of that request. Themethod can be used access the Request object if required.HttpConnection.getCurrentConnection().getHttpChannel().getRequest()response- The response as theResponseobject or a wrapper of that request. Themethod can be used access the Response object if required.HttpConnection.getCurrentConnection().getHttpChannel().getResponse()- Throws:
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
-
deployHandler
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
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
-