Package org.eclipse.jetty.servlet
Class ServletContextHandler
java.lang.Object
- All Implemented Interfaces:
Handler
,HandlerContainer
,Attributes
,Container
,Destroyable
,Dumpable
,Dumpable.DumpableContainer
,Graceful
,LifeCycle
- Direct Known Subclasses:
WebAppContext
Servlet Context.
This extension to the ContextHandler allows for simple construction of a context with ServletHandler and optionally session and security handlers, et.
new ServletContext("/context",Context.SESSIONS|Context.NO_SECURITY);
This class should have been called ServletContext, but this would have
cause confusion with ServletContext
.
-
Nested Class Summary
Modifier and TypeClassDescriptionclass
static class
Deprecated.static class
static class
static interface
static class
Bean that is added to the ServletContextHandler to start all of the ServletContainerInitializers by starting their corresponding ServletContainerInitializerHolders when this bean is itself started.static class
Nested classes/interfaces inherited from class org.eclipse.jetty.server.handler.ContextHandler
ContextHandler.AliasCheck, ContextHandler.ApproveAliases, ContextHandler.ApproveNonExistentDirectoryAliases, ContextHandler.Availability, ContextHandler.ContextScopeListener, ContextHandler.ContextStatus, ContextHandler.StaticContext
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, AbstractLifeCycle.StopException
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.Attributes
Attributes.Wrapper
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.Graceful
Graceful.Shutdown, Graceful.ThrowingRunnable
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener
-
Field Summary
Modifier and TypeFieldDescriptionprotected Class<? extends SecurityHandler>
protected jakarta.servlet.descriptor.JspConfigDescriptor
protected final DecoratedObjectFactory
protected int
protected SecurityHandler
protected ServletHandler
protected SessionHandler
static final int
static final int
static final int
static final int
Fields inherited from class org.eclipse.jetty.server.handler.ContextHandler
_contextStatus, _scontext, DEFAULT_LISTENER_TYPE_INDEX, DEFAULT_MAX_FORM_CONTENT_SIZE, DEFAULT_MAX_FORM_KEYS, EXTENDED_LISTENER_TYPE_INDEX, MANAGED_ATTRIBUTES, MAX_FORM_CONTENT_SIZE_KEY, MAX_FORM_KEYS_KEY, SERVLET_LISTENER_TYPES, SERVLET_MAJOR_VERSION, SERVLET_MINOR_VERSION
Fields inherited from class org.eclipse.jetty.server.handler.ScopedHandler
_nextScope, _outerScope
Fields inherited from class org.eclipse.jetty.server.handler.HandlerWrapper
_handler
-
Constructor Summary
ConstructorDescriptionServletContextHandler
(int options) ServletContextHandler
(HandlerContainer parent, String contextPath) ServletContextHandler
(HandlerContainer parent, String contextPath, boolean sessions, boolean security) ServletContextHandler
(HandlerContainer parent, String contextPath, int options) ServletContextHandler
(HandlerContainer parent, String contextPath, SessionHandler sessionHandler, SecurityHandler securityHandler, ServletHandler servletHandler, ErrorHandler errorHandler) ServletContextHandler
(HandlerContainer parent, String contextPath, SessionHandler sessionHandler, SecurityHandler securityHandler, ServletHandler servletHandler, ErrorHandler errorHandler, int options) ServletContextHandler
(HandlerContainer parent, SessionHandler sessionHandler, SecurityHandler securityHandler, ServletHandler servletHandler, ErrorHandler errorHandler) -
Method Summary
Modifier and TypeMethodDescriptionboolean
addEventListener
(EventListener listener) Add EventListeneraddFilter
(Class<? extends jakarta.servlet.Filter> filterClass, String pathSpec, EnumSet<jakarta.servlet.DispatcherType> dispatches) Convenience method to add a filterConvenience method to add a filtervoid
addFilter
(FilterHolder holder, String pathSpec, EnumSet<jakarta.servlet.DispatcherType> dispatches) Convenience method to add a filterprotected void
delegate for ServletContext.declareRole methodaddServlet
(Class<? extends jakarta.servlet.Servlet> servlet, String pathSpec) Convenience method to add a servlet.addServlet
(String className, String pathSpec) Convenience method to add a servlet.void
addServlet
(ServletHolder servlet, String pathSpec) Convenience method to add a servlet.addServletContainerInitializer
(jakarta.servlet.ServletContainerInitializer sci) Convenience method to programmatically add aServletContainerInitializer
.addServletContainerInitializer
(jakarta.servlet.ServletContainerInitializer sci, Class<?>... classes) Convenience method to programmatically add aServletContainerInitializer
.void
addServletContainerInitializer
(ServletContainerInitializerHolder... sciHolders) Convenience method to programmatically add a list ofServletContainerInitializer
.void
callContextDestroyed
(jakarta.servlet.ServletContextListener l, jakarta.servlet.ServletContextEvent e) void
callContextInitialized
(jakarta.servlet.ServletContextListener l, jakarta.servlet.ServletContextEvent e) protected void
doStart()
Starts the managed lifecycle beans in the order they were added.protected void
doStop()
Stops the managed lifecycle beans in the reverse order they were added.protected jakarta.servlet.ServletRegistration.Dynamic
dynamicHolderAdded
(ServletHolder holder) notification that a ServletRegistration has been created so we can track the annotationsClass<? extends SecurityHandler>
Get the defaultSecurityHandlerClass.The DecoratedObjectFactory for use by IoC containers (weld / spring / etc)static ServletContextHandler
getServletContextHandler
(jakarta.servlet.ServletContext context) static ServletContextHandler
getServletContextHandler
(jakarta.servlet.ServletContext servletContext, String purpose) void
insertHandler
(HandlerWrapper handler) Insert a HandlerWrapper before the first Session, Security or ServletHandler but after any other HandlerWrappers.protected SecurityHandler
protected ServletHandler
protected SessionHandler
void
setDefaultSecurityHandlerClass
(Class<? extends SecurityHandler> defaultSecurityHandlerClass) Set the defaultSecurityHandlerClass.void
setGzipHandler
(GzipHandler gzipHandler) Deprecated.void
setHandler
(Handler handler) protected void
setParent
(HandlerContainer parent) void
setSecurityHandler
(SecurityHandler securityHandler) void
setServletHandler
(ServletHandler servletHandler) setServletSecurity
(jakarta.servlet.ServletRegistration.Dynamic registration, jakarta.servlet.ServletSecurityElement servletSecurityElement) Delegate for ServletRegistration.Dynamic.setServletSecurity methodvoid
setSessionHandler
(SessionHandler sessionHandler) protected void
Finish constructing handlers and link them together.protected void
Methods inherited from class org.eclipse.jetty.server.handler.ContextHandler
addAliasCheck, addLocaleEncoding, addProgrammaticListener, addVirtualHosts, checkAlias, checkContext, checkContextPath, checkVirtualHost, clearAliasChecks, clearAttributes, contextDestroyed, contextInitialized, doHandle, doScope, dump, enterScope, exitScope, getAliasChecks, getAllowNullPathInfo, getAttribute, getAttributeNames, getAttributeNameSet, getAttributes, getBaseResource, getClassLoader, getClassPath, getContextHandler, getContextPath, getContextPathEncoded, getCurrentContext, getDefaultRequestCharacterEncoding, getDefaultResponseCharacterEncoding, getDisplayName, getErrorHandler, getInitParameter, getInitParameterNames, getInitParams, getLocaleEncoding, getLocaleEncoding, getLocaleEncodings, getLogger, getMaxFormContentSize, getMaxFormKeys, getMimeTypes, getProtectedTargets, getRequestContextPath, getResource, getResourceBase, getResourcePaths, getServerInfo, getServletContext, getVirtualHosts, getWelcomeFiles, handle, handle, isAvailable, isCompactPath, isContextPathDefault, isDurableListener, isProgrammaticListener, isProtectedTarget, isShutdown, isUsingSecurityManager, loadClass, newResource, newResource, newResource, removeAttribute, removeEventListener, removeVirtualHosts, requestDestroyed, requestInitialized, setAliasChecks, setAllowNullPathInfo, setAttribute, setAttributes, setAvailable, setBaseResource, setClassLoader, setCompactPath, setContextPath, setDefaultContextPath, setDefaultRequestCharacterEncoding, setDefaultResponseCharacterEncoding, setDisplayName, setErrorHandler, setInitParameter, setLogger, setMaxFormContentSize, setMaxFormKeys, setMimeTypes, setProtectedTargets, setResourceBase, setServer, setServerInfo, setUsingSecurityManager, setVirtualHosts, setWelcomeFiles, shutdown, toString
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
Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandlerContainer
expandHandler, findContainerOf, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass
Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandler
doError, getServer
Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addManaged, contains, dump, dump, dumpObjects, dumpStdErr, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, setBeans, start, stop, unmanage, updateBean, updateBean, updateBeans, updateBeans
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
getEventListeners, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, setEventListeners, start, stop
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.Container
getCachedBeans, getEventListeners
Methods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpable
Methods inherited from interface org.eclipse.jetty.util.component.LifeCycle
isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, start, stop
-
Field Details
-
SESSIONS
public static final int SESSIONS- See Also:
-
SECURITY
public static final int SECURITY- See Also:
-
NO_SESSIONS
public static final int NO_SESSIONS- See Also:
-
NO_SECURITY
public static final int NO_SECURITY- See Also:
-
_objFactory
-
_defaultSecurityHandlerClass
-
_sessionHandler
-
_securityHandler
-
_servletHandler
-
_options
protected int _options -
_jspConfig
protected jakarta.servlet.descriptor.JspConfigDescriptor _jspConfig
-
-
Constructor Details
-
ServletContextHandler
public ServletContextHandler() -
ServletContextHandler
public ServletContextHandler(int options) -
ServletContextHandler
-
ServletContextHandler
-
ServletContextHandler
public ServletContextHandler(HandlerContainer parent, String contextPath, boolean sessions, boolean security) -
ServletContextHandler
public ServletContextHandler(HandlerContainer parent, SessionHandler sessionHandler, SecurityHandler securityHandler, ServletHandler servletHandler, ErrorHandler errorHandler) -
ServletContextHandler
public ServletContextHandler(HandlerContainer parent, String contextPath, SessionHandler sessionHandler, SecurityHandler securityHandler, ServletHandler servletHandler, ErrorHandler errorHandler) -
ServletContextHandler
public ServletContextHandler(HandlerContainer parent, String contextPath, SessionHandler sessionHandler, SecurityHandler securityHandler, ServletHandler servletHandler, ErrorHandler errorHandler, int options)
-
-
Method Details
-
getServletContextHandler
public static ServletContextHandler getServletContextHandler(jakarta.servlet.ServletContext servletContext, String purpose) -
getServletContextHandler
public static ServletContextHandler getServletContextHandler(jakarta.servlet.ServletContext context) -
setParent
-
addEventListener
Add EventListener- Specified by:
addEventListener
in interfaceContainer
- Specified by:
addEventListener
in interfaceLifeCycle
- Overrides:
addEventListener
in classContextHandler
- Parameters:
listener
- the listener to add- Returns:
- true if the listener was added
- See Also:
-
HttpSessionAttributeListener
HttpSessionActivationListener
HttpSessionBindingListener
HttpSessionListener
HttpSessionIdListener
ContextHandler.addEventListener(EventListener)
-
setHandler
- Overrides:
setHandler
in classHandlerWrapper
- Parameters:
handler
- Set theHandler
which should be wrapped.
-
doStart
Description copied from class:ContainerLifeCycle
Starts the managed lifecycle beans in the order they were added.- Overrides:
doStart
in classContextHandler
- Throws:
AbstractLifeCycle.StopException
- If thrown, the lifecycle will immediately be stopped.Exception
- If there was a problem starting. Will cause a transition to FAILED state
-
doStop
Description copied from class:ContainerLifeCycle
Stops the managed lifecycle beans in the reverse order they were added.- Overrides:
doStop
in classContextHandler
- Throws:
Exception
- If there was a problem stopping. Will cause a transition to FAILED state
-
getDefaultSecurityHandlerClass
Get the defaultSecurityHandlerClass.- Returns:
- the defaultSecurityHandlerClass
-
setDefaultSecurityHandlerClass
public void setDefaultSecurityHandlerClass(Class<? extends SecurityHandler> defaultSecurityHandlerClass) Set the defaultSecurityHandlerClass.- Parameters:
defaultSecurityHandlerClass
- the defaultSecurityHandlerClass to set
-
newSessionHandler
-
newSecurityHandler
-
newServletHandler
-
startContext
Finish constructing handlers and link them together.- Overrides:
startContext
in classContextHandler
- Throws:
Exception
- if unable to start the context- See Also:
-
stopContext
- Overrides:
stopContext
in classContextHandler
- Throws:
Exception
-
getSecurityHandler
@ManagedAttribute(value="context security handler", readonly=true) public SecurityHandler getSecurityHandler()- Returns:
- Returns the securityHandler.
-
getServletHandler
@ManagedAttribute(value="context servlet handler", readonly=true) public ServletHandler getServletHandler()- Returns:
- Returns the servletHandler.
-
getSessionHandler
@ManagedAttribute(value="context session handler", readonly=true) public SessionHandler getSessionHandler()- Returns:
- Returns the sessionHandler.
-
addServlet
Convenience method to add a servlet.- Parameters:
className
- the servlet class namepathSpec
- the path spec to map servlet to- Returns:
- the ServletHolder for the added servlet
-
addServlet
Convenience method to add a servlet.- Parameters:
servlet
- the servlet classpathSpec
- the path spec to map servlet to- Returns:
- the ServletHolder for the added servlet
-
addServlet
Convenience method to add a servlet.- Parameters:
servlet
- the servlet holderpathSpec
- the path spec
-
addFilter
public void addFilter(FilterHolder holder, String pathSpec, EnumSet<jakarta.servlet.DispatcherType> dispatches) Convenience method to add a filter- Parameters:
holder
- the filter holderpathSpec
- the path specdispatches
- the dispatcher types for this filter
-
addFilter
public FilterHolder addFilter(Class<? extends jakarta.servlet.Filter> filterClass, String pathSpec, EnumSet<jakarta.servlet.DispatcherType> dispatches) Convenience method to add a filter- Parameters:
filterClass
- the filter classpathSpec
- the path specdispatches
- the dispatcher types for this filter- Returns:
- the FilterHolder that was created
-
addFilter
public FilterHolder addFilter(String filterClass, String pathSpec, EnumSet<jakarta.servlet.DispatcherType> dispatches) Convenience method to add a filter- Parameters:
filterClass
- the filter class namepathSpec
- the path specdispatches
- the dispatcher types for this filter- Returns:
- the FilterHolder that was created
-
addServletContainerInitializer
public ServletContainerInitializerHolder addServletContainerInitializer(jakarta.servlet.ServletContainerInitializer sci) Convenience method to programmatically add aServletContainerInitializer
.- Parameters:
sci
- the ServletContainerInitializer to register.- Returns:
- the ServletContainerInitializerHolder that was created
-
addServletContainerInitializer
public ServletContainerInitializerHolder addServletContainerInitializer(jakarta.servlet.ServletContainerInitializer sci, Class<?>... classes) Convenience method to programmatically add aServletContainerInitializer
.- Parameters:
sci
- the ServletContainerInitializer to register.classes
- the Set of application classes.- Returns:
- the ServletContainerInitializerHolder that was created
-
addServletContainerInitializer
Convenience method to programmatically add a list ofServletContainerInitializer
. The initializers are guaranteed to be called in the order they are passed into this method.- Parameters:
sciHolders
- the ServletContainerInitializerHolders
-
dynamicHolderAdded
notification that a ServletRegistration has been created so we can track the annotations- Parameters:
holder
- new holder created through the api.- Returns:
- the ServletRegistration.Dynamic
-
addRoles
delegate for ServletContext.declareRole method- Parameters:
roleNames
- role names to add
-
setServletSecurity
public Set<String> setServletSecurity(jakarta.servlet.ServletRegistration.Dynamic registration, jakarta.servlet.ServletSecurityElement servletSecurityElement) Delegate for ServletRegistration.Dynamic.setServletSecurity method- Parameters:
registration
- ServletRegistration.Dynamic instance that setServletSecurity was called onservletSecurityElement
- new security info- Returns:
- the set of exact URL mappings currently associated with the registration that are also present in the web.xml security constraints and thus will be unaffected by this call.
-
callContextInitialized
public void callContextInitialized(jakarta.servlet.ServletContextListener l, jakarta.servlet.ServletContextEvent e) - Overrides:
callContextInitialized
in classContextHandler
-
callContextDestroyed
public void callContextDestroyed(jakarta.servlet.ServletContextListener l, jakarta.servlet.ServletContextEvent e) - Overrides:
callContextDestroyed
in classContextHandler
-
setSessionHandler
- Parameters:
sessionHandler
- The sessionHandler to set.
-
setSecurityHandler
- Parameters:
securityHandler
- TheSecurityHandler
to set on this context.
-
setServletHandler
- Parameters:
servletHandler
- The servletHandler to set.
-
setGzipHandler
Deprecated.useinsertHandler(HandlerWrapper)
instead- Parameters:
gzipHandler
- the GzipHandler for this ServletContextHandler
-
insertHandler
Insert a HandlerWrapper before the first Session, Security or ServletHandler but after any other HandlerWrappers.- Overrides:
insertHandler
in classHandlerWrapper
- Parameters:
handler
- the wrapper to insert
-
getObjectFactory
The DecoratedObjectFactory for use by IoC containers (weld / spring / etc)- Returns:
- The DecoratedObjectFactory
-
insertHandler(HandlerWrapper)
instead