Package org.apache.tapestry5.http
Class TapestryFilter
java.lang.Object
org.apache.tapestry5.http.TapestryFilter
- All Implemented Interfaces:
javax.servlet.Filter
- Direct Known Subclasses:
TapestryFilter
,TapestrySpringFilter
The TapestryFilter is responsible for intercepting all requests into the web application. It
identifies the requests
that are relevant to Tapestry, and lets the servlet container handle the rest. It is also
responsible for
initializing Tapestry.
The application is primarily configured via context-level init parameters.
- tapestry.app-package
- The application package (used to search for pages, components, etc.)
tapestry.execution-mode
(with default value "production"). This property is a comma-separated list of execution modes.
For each mode, an additional init parameter is checked for:
tapestry.mode-modules
; this is a comma-separated list of module class names
to load. In this way, more precise control over the available modules can be obtained which is
often needed during testing.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal void
destroy()
Shuts down and discards the registry.protected void
Invoked fromdestroy()
to allow subclasses to add additional shutdown logic to the filter.final void
doFilter
(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) protected final javax.servlet.FilterConfig
final void
init
(javax.servlet.FilterConfig filterConfig) Initializes the filter using theTapestryAppInitializer
.protected void
Invoked frominit(FilterConfig)
after the Registry has been created, to allow any additional initialization to occur.protected Class[]
provideExtraModuleClasses
(javax.servlet.ServletContext context) Overridden in subclasses to provide additional module classes beyond those normally located.protected ModuleDef[]
provideExtraModuleDefs
(javax.servlet.ServletContext context) Overridden in subclasses to provide additional module definitions beyond those normally located.final void
runFilter
(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)
-
Field Details
-
REGISTRY_CONTEXT_NAME
Key under which the Tapestry IoCRegistry
is stored in the ServletContext. This allows other code, beyond Tapestry, to obtain the Registry and, from it, any Tapestry services. Such code should be careful about invokingRegistry.cleanupThread()
appropriately.- See Also:
-
-
Constructor Details
-
TapestryFilter
public TapestryFilter()
-
-
Method Details
-
init
public final void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException Initializes the filter using theTapestryAppInitializer
. The application name is the capitalization of the filter name (as specified in web.xml).- Specified by:
init
in interfacejavax.servlet.Filter
- Throws:
javax.servlet.ServletException
-
getFilterConfig
-
init
Invoked frominit(FilterConfig)
after the Registry has been created, to allow any additional initialization to occur. This implementation does nothing, and my be overridden in subclasses.- Parameters:
registry
- from which services may be extracted- Throws:
javax.servlet.ServletException
-
provideExtraModuleDefs
Overridden in subclasses to provide additional module definitions beyond those normally located. This implementation returns an empty array. -
provideExtraModuleClasses
Overridden in subclasses to provide additional module classes beyond those normally located. This implementation returns an empty array.- Since:
- 5.3
-
runFilter
public final void runFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) throws IOException, javax.servlet.ServletException - Throws:
IOException
javax.servlet.ServletException
-
doFilter
public final void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) throws IOException, javax.servlet.ServletException - Specified by:
doFilter
in interfacejavax.servlet.Filter
- Throws:
IOException
javax.servlet.ServletException
-
destroy
Shuts down and discards the registry. Invokesdestroy(org.apache.tapestry5.ioc.Registry)
to allow subclasses to perform any shutdown logic, then shuts down the registry, and removes it from the ServletContext.- Specified by:
destroy
in interfacejavax.servlet.Filter
-
destroy
Invoked fromdestroy()
to allow subclasses to add additional shutdown logic to the filter. The Registry will be shutdown after this call. This implementation does nothing, and may be overridden in subclasses.- Parameters:
registry
-
-