Package org.eclipse.jetty.servlet
Class ServletContextHandler
- 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.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 Classes Modifier and Type Class Description class
ServletContextHandler.Context
static interface
ServletContextHandler.Decorator
Deprecated.use newDecorator
static class
ServletContextHandler.JspConfig
static class
ServletContextHandler.JspPropertyGroup
static interface
ServletContextHandler.ServletContainerInitializerCaller
static class
ServletContextHandler.TagLib
-
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.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
-
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
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.Class<? extends org.eclipse.jetty.security.SecurityHandler>
_defaultSecurityHandlerClass
protected org.eclipse.jetty.server.handler.gzip.GzipHandler
_gzipHandler
protected javax.servlet.descriptor.JspConfigDescriptor
_jspConfig
protected org.eclipse.jetty.util.DecoratedObjectFactory
_objFactory
protected int
_options
protected org.eclipse.jetty.security.SecurityHandler
_securityHandler
protected ServletHandler
_servletHandler
protected org.eclipse.jetty.server.session.SessionHandler
_sessionHandler
static int
GZIP
static int
NO_SECURITY
static int
NO_SESSIONS
static int
SECURITY
static int
SESSIONS
-
Fields inherited from class org.eclipse.jetty.server.handler.ContextHandler
_scontext, DEFAULT_LISTENER_TYPE_INDEX, EXTENDED_LISTENER_TYPE_INDEX, MANAGED_ATTRIBUTES, SERVLET_LISTENER_TYPES, SERVLET_MAJOR_VERSION, SERVLET_MINOR_VERSION
-
-
Constructor Summary
Constructors Constructor Description ServletContextHandler()
ServletContextHandler(int options)
ServletContextHandler(org.eclipse.jetty.server.HandlerContainer parent, java.lang.String contextPath)
ServletContextHandler(org.eclipse.jetty.server.HandlerContainer parent, java.lang.String contextPath, boolean sessions, boolean security)
ServletContextHandler(org.eclipse.jetty.server.HandlerContainer parent, java.lang.String contextPath, int options)
ServletContextHandler(org.eclipse.jetty.server.HandlerContainer parent, java.lang.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, java.lang.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
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addDecorator(ServletContextHandler.Decorator decorator)
Deprecated.use theDecoratedObjectFactory
from getAttribute("org.eclipse.jetty.util.DecoratedObjectFactory") orgetObjectFactory()
insteadvoid
addEventListener(java.util.EventListener listener)
Add EventListener Adds an EventListener to the list.FilterHolder
addFilter(java.lang.Class<? extends javax.servlet.Filter> filterClass, java.lang.String pathSpec, java.util.EnumSet<javax.servlet.DispatcherType> dispatches)
Convenience method to add a filterFilterHolder
addFilter(java.lang.String filterClass, java.lang.String pathSpec, java.util.EnumSet<javax.servlet.DispatcherType> dispatches)
Convenience method to add a filtervoid
addFilter(FilterHolder holder, java.lang.String pathSpec, java.util.EnumSet<javax.servlet.DispatcherType> dispatches)
Convenience method to add a filterprotected void
addRoles(java.lang.String... roleNames)
delegate for ServletContext.declareRole methodServletHolder
addServlet(java.lang.Class<? extends javax.servlet.Servlet> servlet, java.lang.String pathSpec)
Convenience method to add a servlet.ServletHolder
addServlet(java.lang.String className, java.lang.String pathSpec)
Convenience method to add a servlet.void
addServlet(ServletHolder servlet, java.lang.String pathSpec)
Convenience method to add a servlet.void
callContextDestroyed(javax.servlet.ServletContextListener l, javax.servlet.ServletContextEvent e)
void
callContextInitialized(javax.servlet.ServletContextListener l, javax.servlet.ServletContextEvent e)
protected void
doStart()
protected void
doStop()
protected javax.servlet.ServletRegistration.Dynamic
dynamicHolderAdded(ServletHolder holder)
notification that a ServletRegistration has been created so we can track the annotationsjava.util.List<ServletContextHandler.Decorator>
getDecorators()
Deprecated.use theDecoratedObjectFactory
from getAttribute("org.eclipse.jetty.util.DecoratedObjectFactory") orgetObjectFactory()
insteadjava.lang.Class<? extends org.eclipse.jetty.security.SecurityHandler>
getDefaultSecurityHandlerClass()
Get the defaultSecurityHandlerClass.org.eclipse.jetty.server.handler.gzip.GzipHandler
getGzipHandler()
org.eclipse.jetty.util.DecoratedObjectFactory
getObjectFactory()
The DecoratedObjectFactory for use by IoC containers (weld / spring / etc)org.eclipse.jetty.security.SecurityHandler
getSecurityHandler()
ServletHandler
getServletHandler()
org.eclipse.jetty.server.session.SessionHandler
getSessionHandler()
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
newSecurityHandler()
protected ServletHandler
newServletHandler()
protected org.eclipse.jetty.server.session.SessionHandler
newSessionHandler()
void
setDecorators(java.util.List<ServletContextHandler.Decorator> decorators)
Deprecated.use theDecoratedObjectFactory
from getAttribute("org.eclipse.jetty.util.DecoratedObjectFactory") orgetObjectFactory()
insteadvoid
setDefaultSecurityHandlerClass(java.lang.Class<? extends org.eclipse.jetty.security.SecurityHandler> defaultSecurityHandlerClass)
Set the defaultSecurityHandlerClass.void
setGzipHandler(org.eclipse.jetty.server.handler.gzip.GzipHandler gzipHandler)
void
setHandler(org.eclipse.jetty.server.Handler handler)
void
setSecurityHandler(org.eclipse.jetty.security.SecurityHandler securityHandler)
void
setServletHandler(ServletHandler servletHandler)
java.util.Set<java.lang.String>
setServletSecurity(javax.servlet.ServletRegistration.Dynamic registration, javax.servlet.ServletSecurityElement servletSecurityElement)
Delegate for ServletRegistration.Dynamic.setServletSecurity methodvoid
setSessionHandler(org.eclipse.jetty.server.session.SessionHandler sessionHandler)
protected void
startContext()
Finish constructing handlers and link them together.protected void
stopContext()
-
Methods inherited from class org.eclipse.jetty.server.handler.ContextHandler
addAliasCheck, addLocaleEncoding, addProgrammaticListener, addVirtualHosts, checkAlias, checkContext, checkContextPath, checkVirtualHost, clearAliasChecks, clearAttributes, doHandle, doScope, dump, enterScope, exitScope, getAliasChecks, getAllowNullPathInfo, getAttribute, getAttributeNames, getAttributes, getBaseResource, getClassLoader, getClassPath, getContextHandler, getContextPath, getContextPathEncoded, getCurrentContext, getDisplayName, getErrorHandler, getEventListeners, getInitParameter, getInitParameterNames, getInitParams, getLocaleEncoding, getLocaleEncoding, getLocaleEncodings, getLogger, getMaxFormContentSize, getMaxFormKeys, getMimeTypes, getProtectedTargets, getResource, getResourceBase, getResourcePaths, getServerInfo, getServletContext, getVirtualHosts, getWelcomeFiles, handle, handle, isAvailable, isCompactPath, isProgrammaticListener, isProtectedTarget, isShutdown, isUsingSecurityManager, loadClass, newResource, newResource, newResource, removeAttribute, removeEventListener, removeVirtualHosts, requestDestroyed, requestInitialized, setAliasChecks, setAllowNullPathInfo, setAttribute, setAttributes, setAvailable, setBaseResource, setClassLoader, setCompactPath, setContextPath, setDisplayName, setErrorHandler, setEventListeners, setInitParameter, setLogger, setManagedAttribute, 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
doShutdown, expandHandler, findContainerOf, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass
-
Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, 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, 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
-
-
-
-
Field Detail
-
SESSIONS
public static final int SESSIONS
- See Also:
- Constant Field Values
-
SECURITY
public static final int SECURITY
- See Also:
- Constant Field Values
-
GZIP
public static final int GZIP
- See Also:
- Constant Field Values
-
NO_SESSIONS
public static final int NO_SESSIONS
- See Also:
- Constant Field Values
-
NO_SECURITY
public static final int NO_SECURITY
- See Also:
- Constant Field Values
-
_objFactory
protected final org.eclipse.jetty.util.DecoratedObjectFactory _objFactory
-
_defaultSecurityHandlerClass
protected java.lang.Class<? extends org.eclipse.jetty.security.SecurityHandler> _defaultSecurityHandlerClass
-
_sessionHandler
protected org.eclipse.jetty.server.session.SessionHandler _sessionHandler
-
_securityHandler
protected org.eclipse.jetty.security.SecurityHandler _securityHandler
-
_servletHandler
protected ServletHandler _servletHandler
-
_gzipHandler
protected org.eclipse.jetty.server.handler.gzip.GzipHandler _gzipHandler
-
_options
protected int _options
-
_jspConfig
protected javax.servlet.descriptor.JspConfigDescriptor _jspConfig
-
-
Constructor Detail
-
ServletContextHandler
public ServletContextHandler()
-
ServletContextHandler
public ServletContextHandler(int options)
-
ServletContextHandler
public ServletContextHandler(org.eclipse.jetty.server.HandlerContainer parent, java.lang.String contextPath)
-
ServletContextHandler
public ServletContextHandler(org.eclipse.jetty.server.HandlerContainer parent, java.lang.String contextPath, int options)
-
ServletContextHandler
public ServletContextHandler(org.eclipse.jetty.server.HandlerContainer parent, java.lang.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, java.lang.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, java.lang.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 Detail
-
addEventListener
public void addEventListener(java.util.EventListener listener)
Add EventListener Adds an EventListener to the list. @see org.eclipse.jetty.server.handler.ContextHandler#addEventListener(). Also adds any listeners that are session related to the SessionHandler.- Overrides:
addEventListener
in classorg.eclipse.jetty.server.handler.ContextHandler
- Parameters:
listener
- the listener to add
-
setHandler
public void setHandler(org.eclipse.jetty.server.Handler handler)
- Overrides:
setHandler
in classorg.eclipse.jetty.server.handler.HandlerWrapper
-
doStart
protected void doStart() throws java.lang.Exception
- Overrides:
doStart
in classorg.eclipse.jetty.server.handler.ContextHandler
- Throws:
java.lang.Exception
-
doStop
protected void doStop() throws java.lang.Exception
- Overrides:
doStop
in classorg.eclipse.jetty.server.handler.ContextHandler
- Throws:
java.lang.Exception
- See Also:
ContextHandler.doStop()
-
getDefaultSecurityHandlerClass
public java.lang.Class<? extends org.eclipse.jetty.security.SecurityHandler> getDefaultSecurityHandlerClass()
Get the defaultSecurityHandlerClass.- Returns:
- the defaultSecurityHandlerClass
-
setDefaultSecurityHandlerClass
public void setDefaultSecurityHandlerClass(java.lang.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
protected ServletHandler newServletHandler()
-
startContext
protected void startContext() throws java.lang.Exception
Finish constructing handlers and link them together.- Overrides:
startContext
in classorg.eclipse.jetty.server.handler.ContextHandler
- Throws:
java.lang.Exception
- See Also:
ContextHandler.startContext()
-
stopContext
protected void stopContext() throws java.lang.Exception
- Overrides:
stopContext
in classorg.eclipse.jetty.server.handler.ContextHandler
- Throws:
java.lang.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.
-
getGzipHandler
@ManagedAttribute(value="context gzip handler", readonly=true) public org.eclipse.jetty.server.handler.gzip.GzipHandler getGzipHandler()
- Returns:
- Returns the gzipHandler.
-
addServlet
public ServletHolder addServlet(java.lang.String className, java.lang.String pathSpec)
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
public ServletHolder addServlet(java.lang.Class<? extends javax.servlet.Servlet> servlet, java.lang.String pathSpec)
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
public void addServlet(ServletHolder servlet, java.lang.String pathSpec)
Convenience method to add a servlet.- Parameters:
servlet
- the servlet holderpathSpec
- the path spec
-
addFilter
public void addFilter(FilterHolder holder, java.lang.String pathSpec, java.util.EnumSet<javax.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(java.lang.Class<? extends javax.servlet.Filter> filterClass, java.lang.String pathSpec, java.util.EnumSet<javax.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(java.lang.String filterClass, java.lang.String pathSpec, java.util.EnumSet<javax.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
-
dynamicHolderAdded
protected javax.servlet.ServletRegistration.Dynamic dynamicHolderAdded(ServletHolder holder)
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
protected void addRoles(java.lang.String... roleNames)
delegate for ServletContext.declareRole method- Parameters:
roleNames
- role names to add
-
setServletSecurity
public java.util.Set<java.lang.String> setServletSecurity(javax.servlet.ServletRegistration.Dynamic registration, javax.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(javax.servlet.ServletContextListener l, javax.servlet.ServletContextEvent e)
- Overrides:
callContextInitialized
in classorg.eclipse.jetty.server.handler.ContextHandler
-
callContextDestroyed
public void callContextDestroyed(javax.servlet.ServletContextListener l, javax.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.
-
setGzipHandler
public void setGzipHandler(org.eclipse.jetty.server.handler.gzip.GzipHandler gzipHandler)
- Parameters:
gzipHandler
- TheGzipHandler
to set on this context.
-
setServletHandler
public void setServletHandler(ServletHandler servletHandler)
- Parameters:
servletHandler
- The servletHandler to set.
-
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
-
getDecorators
@Deprecated public java.util.List<ServletContextHandler.Decorator> getDecorators()
Deprecated.use theDecoratedObjectFactory
from getAttribute("org.eclipse.jetty.util.DecoratedObjectFactory") orgetObjectFactory()
instead- Returns:
- The decorator list used to resource inject new Filters, Servlets and EventListeners
-
setDecorators
@Deprecated public void setDecorators(java.util.List<ServletContextHandler.Decorator> decorators)
Deprecated.use theDecoratedObjectFactory
from getAttribute("org.eclipse.jetty.util.DecoratedObjectFactory") orgetObjectFactory()
instead- Parameters:
decorators
- The list ofServletContextHandler.Decorator
s
-
addDecorator
@Deprecated public void addDecorator(ServletContextHandler.Decorator decorator)
Deprecated.use theDecoratedObjectFactory
from getAttribute("org.eclipse.jetty.util.DecoratedObjectFactory") orgetObjectFactory()
instead- Parameters:
decorator
- The decorator to add
-
-