Class PaxWebServletHandler
- 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.HandlerWrapper
-
- org.eclipse.jetty.server.handler.ScopedHandler
-
- org.eclipse.jetty.servlet.ServletHandler
-
- org.ops4j.pax.web.service.jetty.internal.PaxWebServletHandler
-
- All Implemented Interfaces:
org.eclipse.jetty.server.Handler,org.eclipse.jetty.server.HandlerContainer,org.eclipse.jetty.util.component.Container,org.eclipse.jetty.util.component.Destroyable,org.eclipse.jetty.util.component.Dumpable,org.eclipse.jetty.util.component.Dumpable.DumpableContainer,org.eclipse.jetty.util.component.LifeCycle
public class PaxWebServletHandler extends org.eclipse.jetty.servlet.ServletHandlerSpecialized
ServletHandlerto be used inside specializedServletContextHandlerfor Pax Web specific invocation and management of servlets.Remember (a note to myself as well),
ServletHandlerin Jetty is not for handling single servlet, it's for handling all the servlets within singleServletContextHandler.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jetty.servlet.ServletHandler
org.eclipse.jetty.servlet.ServletHandler.Default404Servlet
-
Nested classes/interfaces inherited from class org.eclipse.jetty.server.handler.AbstractHandler
org.eclipse.jetty.server.handler.AbstractHandler.ErrorDispatchHandler
-
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
org.eclipse.jetty.util.component.Container.InheritedListener, org.eclipse.jetty.util.component.Container.Listener
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddFilterWithMapping(org.eclipse.jetty.servlet.FilterHolder holder, String pathSpec, EnumSet<javax.servlet.DispatcherType> dispatches)Override the method fromServletContextHandlerjust becauseorg.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializeraddsFilterHolderdirectly, while we usePaxWebFilterHolderarray.voidaddServletWithMapping(PaxWebServletHolder holder, org.eclipse.jetty.servlet.ServletMapping mapping)Special method that makes it easier later to remove given holder with associated mappingvoiddoHandle(String target, org.eclipse.jetty.server.Request baseRequest, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)JettyServletHandler.doHandle(String, Request, HttpServletRequest, HttpServletResponse)is not just about calling a servlet.protected voiddoStart()protected voiddoStop()org.ops4j.pax.web.service.spi.model.OsgiContextModelgetDefaultOsgiContextModel()org.ops4j.pax.web.service.spi.servlet.OsgiServletContextgetDefaultServletContext()protected javax.servlet.FilterChaingetFilterChain(org.eclipse.jetty.server.Request baseRequest, String pathInContext, org.eclipse.jetty.servlet.ServletHolder servletHolder)Overriden, because we want our own cache management, where key includes proper OSGi contextprotected javax.servlet.FilterChaingetOsgiFilterChain(org.eclipse.jetty.server.Request baseRequest, String pathInContext, org.eclipse.jetty.servlet.ServletHolder servletHolder)List<org.ops4j.pax.web.service.spi.servlet.PreprocessorFilterConfig>getPreprocessors()voidinitialize()protected javax.servlet.FilterChainnewFilterChain(org.eclipse.jetty.servlet.FilterHolder filterHolder, javax.servlet.FilterChain chain)voidremoveServletWithMapping(org.ops4j.pax.web.service.spi.model.elements.ServletModel model)RemovesPaxWebServletHolderand its mapping - both associated with givenServletModelvoidsetDefaultOsgiContextModel(org.ops4j.pax.web.service.spi.model.OsgiContextModel defaultOsgiContextModel, org.ops4j.pax.web.service.WebContainerContext resolvedWebContainerContext)voidsetDefaultServletContext(org.ops4j.pax.web.service.spi.servlet.OsgiServletContext defaultServletContext)voidsetServlets(org.eclipse.jetty.servlet.ServletHolder[] holders)-
Methods inherited from class org.eclipse.jetty.servlet.ServletHandler
addFilter, addFilter, addFilter, addFilterMapping, addFilterWithMapping, addFilterWithMapping, addFilterWithMapping, addFilterWithMapping, addFilterWithMapping, addListener, addServlet, addServletMapping, addServletWithMapping, addServletWithMapping, addServletWithMapping, asPathSpec, containsFilterHolder, containsServletHolder, doScope, dump, getFilter, getFilterMappings, getFilters, getHolderEntry, getIdentityService, getListeners, getMappedServlet, getMatchedServlet, getMaxFilterChainsCacheSize, getServlet, getServletContext, getServletContextHandler, getServletMapping, getServletMappings, getServlets, getServlets, initializeHolders, insertFilterMapping, invalidateChainsCache, isAllowDuplicateMappings, isAvailable, isDumpable, isEnsureDefaultServlet, isFilterChainsCached, isInitialized, isStartWithUnavailable, newFilterHolder, newListenerHolder, newServletHolder, notFound, prependFilterMapping, setAllowDuplicateMappings, setEnsureDefaultServlet, setFilterChainsCached, setFilterMappings, setFilters, setListeners, setMaxFilterChainsCacheSize, setServletMappings, setServletSecurity, setStartWithUnavailable, start, stop, updateMappings, updateNameMappings
-
Methods inherited from class org.eclipse.jetty.server.handler.ScopedHandler
handle, nextHandle, nextScope
-
Methods inherited from class org.eclipse.jetty.server.handler.HandlerWrapper
destroy, expandChildren, getHandler, getHandlers, insertHandler, setHandler
-
Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandlerContainer
doShutdown, expandHandler, findContainerOf, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass, setServer
-
Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, dump, dump, dump, dump, dumpBeans, dumpObject, dumpObjects, dumpStdErr, dumpThis, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, 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
-
-
-
-
Method Detail
-
setDefaultServletContext
public void setDefaultServletContext(org.ops4j.pax.web.service.spi.servlet.OsgiServletContext defaultServletContext)
-
getDefaultServletContext
public org.ops4j.pax.web.service.spi.servlet.OsgiServletContext getDefaultServletContext()
-
setDefaultOsgiContextModel
public void setDefaultOsgiContextModel(org.ops4j.pax.web.service.spi.model.OsgiContextModel defaultOsgiContextModel, org.ops4j.pax.web.service.WebContainerContext resolvedWebContainerContext)
-
getDefaultOsgiContextModel
public org.ops4j.pax.web.service.spi.model.OsgiContextModel getDefaultOsgiContextModel()
-
doStart
protected void doStart() throws Exception- Overrides:
doStartin classorg.eclipse.jetty.servlet.ServletHandler- Throws:
Exception
-
initialize
public void initialize() throws Exception- Overrides:
initializein classorg.eclipse.jetty.servlet.ServletHandler- Throws:
Exception
-
doStop
protected void doStop() throws Exception- Overrides:
doStopin classorg.eclipse.jetty.servlet.ServletHandler- Throws:
Exception
-
setServlets
public void setServlets(org.eclipse.jetty.servlet.ServletHolder[] holders)
- Overrides:
setServletsin classorg.eclipse.jetty.servlet.ServletHandler
-
addServletWithMapping
public void addServletWithMapping(PaxWebServletHolder holder, org.eclipse.jetty.servlet.ServletMapping mapping)
Special method that makes it easier later to remove given holder with associated mapping- Parameters:
holder-mapping-
-
addFilterWithMapping
public void addFilterWithMapping(org.eclipse.jetty.servlet.FilterHolder holder, String pathSpec, EnumSet<javax.servlet.DispatcherType> dispatches)Override the method fromServletContextHandlerjust becauseorg.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializeraddsFilterHolderdirectly, while we usePaxWebFilterHolderarray.- Overrides:
addFilterWithMappingin classorg.eclipse.jetty.servlet.ServletHandler- Parameters:
holder-pathSpec-dispatches-
-
removeServletWithMapping
public void removeServletWithMapping(org.ops4j.pax.web.service.spi.model.elements.ServletModel model)
RemovesPaxWebServletHolderand its mapping - both associated with givenServletModel- Parameters:
model-
-
doHandle
public void doHandle(String target, org.eclipse.jetty.server.Request baseRequest, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws IOException, javax.servlet.ServletException
JettyServletHandler.doHandle(String, Request, HttpServletRequest, HttpServletResponse)is not just about calling a servlet. It's about preparation of entire chain of invocation and mapping of incoming request into some target servlet + associated filters.- Overrides:
doHandlein classorg.eclipse.jetty.servlet.ServletHandler- Parameters:
target-baseRequest-request-response-- Throws:
IOExceptionjavax.servlet.ServletException
-
getOsgiFilterChain
protected javax.servlet.FilterChain getOsgiFilterChain(org.eclipse.jetty.server.Request baseRequest, String pathInContext, org.eclipse.jetty.servlet.ServletHolder servletHolder)
-
getFilterChain
protected javax.servlet.FilterChain getFilterChain(org.eclipse.jetty.server.Request baseRequest, String pathInContext, org.eclipse.jetty.servlet.ServletHolder servletHolder)Overriden, because we want our own cache management, where key includes proper OSGi context- Overrides:
getFilterChainin classorg.eclipse.jetty.servlet.ServletHandler- Parameters:
baseRequest-pathInContext-servletHolder-- Returns:
-
newFilterChain
protected javax.servlet.FilterChain newFilterChain(org.eclipse.jetty.servlet.FilterHolder filterHolder, javax.servlet.FilterChain chain)- Overrides:
newFilterChainin classorg.eclipse.jetty.servlet.ServletHandler
-
getPreprocessors
public List<org.ops4j.pax.web.service.spi.servlet.PreprocessorFilterConfig> getPreprocessors()
-
-