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.server.handler.ContextHandler
org.eclipse.jetty.servlet.ServletContextHandler
- All Implemented Interfaces:
org.eclipse.jetty.server.Handler
,org.eclipse.jetty.server.HandlerContainer
,org.eclipse.jetty.util.Attributes
,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.Graceful
,org.eclipse.jetty.util.component.LifeCycle
@ManagedObject("Servlet Context Handler")
public class ServletContextHandler
extends org.eclipse.jetty.server.handler.ContextHandler
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
Nested ClassesModifier 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
org.eclipse.jetty.server.handler.ContextHandler.AliasCheck, org.eclipse.jetty.server.handler.ContextHandler.ApproveAliases, org.eclipse.jetty.server.handler.ContextHandler.ApproveNonExistentDirectoryAliases, org.eclipse.jetty.server.handler.ContextHandler.Availability, org.eclipse.jetty.server.handler.ContextHandler.ContextScopeListener, org.eclipse.jetty.server.handler.ContextHandler.ContextStatus, org.eclipse.jetty.server.handler.ContextHandler.StaticContext
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, org.eclipse.jetty.util.component.AbstractLifeCycle.StopException
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.Attributes
org.eclipse.jetty.util.Attributes.Wrapper
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
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
org.eclipse.jetty.util.component.Dumpable.DumpableContainer
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Graceful
org.eclipse.jetty.util.component.Graceful.Shutdown, org.eclipse.jetty.util.component.Graceful.ThrowingRunnable
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
org.eclipse.jetty.util.component.LifeCycle.Listener
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Class
<? extends org.eclipse.jetty.security.SecurityHandler> protected jakarta.servlet.descriptor.JspConfigDescriptor
protected final org.eclipse.jetty.util.DecoratedObjectFactory
protected int
protected org.eclipse.jetty.security.SecurityHandler
protected ServletHandler
protected org.eclipse.jetty.server.session.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
Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
FAILED, STARTED, STARTING, STOPPED, STOPPING
Fields inherited from interface org.eclipse.jetty.util.component.Dumpable
KEY
-
Constructor Summary
ConstructorsConstructorDescriptionServletContextHandler
(int options) ServletContextHandler
(org.eclipse.jetty.server.HandlerContainer parent, String contextPath) ServletContextHandler
(org.eclipse.jetty.server.HandlerContainer parent, String contextPath, boolean sessions, boolean security) ServletContextHandler
(org.eclipse.jetty.server.HandlerContainer parent, String contextPath, int options) ServletContextHandler
(org.eclipse.jetty.server.HandlerContainer parent, String contextPath, org.eclipse.jetty.server.session.SessionHandler sessionHandler, org.eclipse.jetty.security.SecurityHandler securityHandler, ServletHandler servletHandler, org.eclipse.jetty.server.handler.ErrorHandler errorHandler) ServletContextHandler
(org.eclipse.jetty.server.HandlerContainer parent, String contextPath, org.eclipse.jetty.server.session.SessionHandler sessionHandler, org.eclipse.jetty.security.SecurityHandler securityHandler, ServletHandler servletHandler, org.eclipse.jetty.server.handler.ErrorHandler errorHandler, int options) ServletContextHandler
(org.eclipse.jetty.server.HandlerContainer parent, org.eclipse.jetty.server.session.SessionHandler sessionHandler, org.eclipse.jetty.security.SecurityHandler securityHandler, ServletHandler servletHandler, org.eclipse.jetty.server.handler.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()
protected void
doStop()
protected jakarta.servlet.ServletRegistration.Dynamic
dynamicHolderAdded
(ServletHolder holder) notification that a ServletRegistration has been created so we can track the annotationsClass
<? extends org.eclipse.jetty.security.SecurityHandler> Get the defaultSecurityHandlerClass.org.eclipse.jetty.util.DecoratedObjectFactory
The DecoratedObjectFactory for use by IoC containers (weld / spring / etc)org.eclipse.jetty.security.SecurityHandler
static ServletContextHandler
getServletContextHandler
(jakarta.servlet.ServletContext context) static ServletContextHandler
getServletContextHandler
(jakarta.servlet.ServletContext servletContext, String purpose) org.eclipse.jetty.server.session.SessionHandler
void
insertHandler
(org.eclipse.jetty.server.handler.HandlerWrapper handler) Insert a HandlerWrapper before the first Session, Security or ServletHandler but after any other HandlerWrappers.protected org.eclipse.jetty.security.SecurityHandler
protected ServletHandler
protected org.eclipse.jetty.server.session.SessionHandler
void
setDefaultSecurityHandlerClass
(Class<? extends org.eclipse.jetty.security.SecurityHandler> defaultSecurityHandlerClass) Set the defaultSecurityHandlerClass.void
setGzipHandler
(org.eclipse.jetty.server.handler.gzip.GzipHandler gzipHandler) Deprecated.void
setHandler
(org.eclipse.jetty.server.Handler handler) protected void
setParent
(org.eclipse.jetty.server.HandlerContainer parent) void
setSecurityHandler
(org.eclipse.jetty.security.SecurityHandler securityHandler) void
setServletHandler
(ServletHandler servletHandler) setServletSecurity
(jakarta.servlet.ServletRegistration.Dynamic registration, jakarta.servlet.ServletSecurityElement servletSecurityElement) Delegate for ServletRegistration.Dynamic.setServletSecurity methodvoid
setSessionHandler
(org.eclipse.jetty.server.session.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
dumpSelf
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
protected final org.eclipse.jetty.util.DecoratedObjectFactory _objFactory -
_defaultSecurityHandlerClass
-
_sessionHandler
protected org.eclipse.jetty.server.session.SessionHandler _sessionHandler -
_securityHandler
protected org.eclipse.jetty.security.SecurityHandler _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
public ServletContextHandler(org.eclipse.jetty.server.HandlerContainer parent, String contextPath, int options) -
ServletContextHandler
public ServletContextHandler(org.eclipse.jetty.server.HandlerContainer parent, String contextPath, boolean sessions, boolean security) -
ServletContextHandler
public ServletContextHandler(org.eclipse.jetty.server.HandlerContainer parent, org.eclipse.jetty.server.session.SessionHandler sessionHandler, org.eclipse.jetty.security.SecurityHandler securityHandler, ServletHandler servletHandler, org.eclipse.jetty.server.handler.ErrorHandler errorHandler) -
ServletContextHandler
public ServletContextHandler(org.eclipse.jetty.server.HandlerContainer parent, String contextPath, org.eclipse.jetty.server.session.SessionHandler sessionHandler, org.eclipse.jetty.security.SecurityHandler securityHandler, ServletHandler servletHandler, org.eclipse.jetty.server.handler.ErrorHandler errorHandler) -
ServletContextHandler
public ServletContextHandler(org.eclipse.jetty.server.HandlerContainer parent, String contextPath, org.eclipse.jetty.server.session.SessionHandler sessionHandler, org.eclipse.jetty.security.SecurityHandler securityHandler, ServletHandler servletHandler, org.eclipse.jetty.server.handler.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
protected void setParent(org.eclipse.jetty.server.HandlerContainer parent) -
addEventListener
Add EventListener- Specified by:
addEventListener
in interfaceorg.eclipse.jetty.util.component.Container
- Specified by:
addEventListener
in interfaceorg.eclipse.jetty.util.component.LifeCycle
- Overrides:
addEventListener
in classorg.eclipse.jetty.server.handler.ContextHandler
- Parameters:
listener
- the listener to add- Returns:
- true if the listener was added
- See Also:
-
setHandler
public void setHandler(org.eclipse.jetty.server.Handler handler) - Overrides:
setHandler
in classorg.eclipse.jetty.server.handler.HandlerWrapper
-
doStart
- Overrides:
doStart
in classorg.eclipse.jetty.server.handler.ContextHandler
- Throws:
Exception
-
doStop
- Overrides:
doStop
in classorg.eclipse.jetty.server.handler.ContextHandler
- Throws:
Exception
-
getDefaultSecurityHandlerClass
Get the defaultSecurityHandlerClass.- Returns:
- the defaultSecurityHandlerClass
-
setDefaultSecurityHandlerClass
public void setDefaultSecurityHandlerClass(Class<? extends org.eclipse.jetty.security.SecurityHandler> defaultSecurityHandlerClass) Set the defaultSecurityHandlerClass.- Parameters:
defaultSecurityHandlerClass
- the defaultSecurityHandlerClass to set
-
newSessionHandler
protected org.eclipse.jetty.server.session.SessionHandler newSessionHandler() -
newSecurityHandler
protected org.eclipse.jetty.security.SecurityHandler newSecurityHandler() -
newServletHandler
-
startContext
Finish constructing handlers and link them together.- Overrides:
startContext
in classorg.eclipse.jetty.server.handler.ContextHandler
- Throws:
Exception
-
stopContext
- Overrides:
stopContext
in classorg.eclipse.jetty.server.handler.ContextHandler
- Throws:
Exception
-
getSecurityHandler
@ManagedAttribute(value="context security handler", readonly=true) public org.eclipse.jetty.security.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 org.eclipse.jetty.server.session.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 classorg.eclipse.jetty.server.handler.ContextHandler
-
callContextDestroyed
public void callContextDestroyed(jakarta.servlet.ServletContextListener l, jakarta.servlet.ServletContextEvent e) - Overrides:
callContextDestroyed
in classorg.eclipse.jetty.server.handler.ContextHandler
-
setSessionHandler
public void setSessionHandler(org.eclipse.jetty.server.session.SessionHandler sessionHandler) - Parameters:
sessionHandler
- The sessionHandler to set.
-
setSecurityHandler
public void setSecurityHandler(org.eclipse.jetty.security.SecurityHandler securityHandler) - Parameters:
securityHandler
- TheSecurityHandler
to set on this context.
-
setServletHandler
- Parameters:
servletHandler
- The servletHandler to set.
-
setGzipHandler
@Deprecated public void setGzipHandler(org.eclipse.jetty.server.handler.gzip.GzipHandler gzipHandler) Deprecated.useinsertHandler(HandlerWrapper)
instead- Parameters:
gzipHandler
- the GzipHandler for this ServletContextHandler
-
insertHandler
public void insertHandler(org.eclipse.jetty.server.handler.HandlerWrapper handler) Insert a HandlerWrapper before the first Session, Security or ServletHandler but after any other HandlerWrappers.- Overrides:
insertHandler
in classorg.eclipse.jetty.server.handler.HandlerWrapper
-
getObjectFactory
public org.eclipse.jetty.util.DecoratedObjectFactory getObjectFactory()The DecoratedObjectFactory for use by IoC containers (weld / spring / etc)- Returns:
- The DecoratedObjectFactory
-
insertHandler(HandlerWrapper)
instead