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 voiddestroy()Shuts down and discards the registry.protected voidInvoked fromdestroy()to allow subclasses to add additional shutdown logic to the filter.final voiddoFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) protected final javax.servlet.FilterConfigfinal voidinit(javax.servlet.FilterConfig filterConfig) Initializes the filter using theTapestryAppInitializer.protected voidInvoked 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 voidrunFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)
-
Field Details
-
REGISTRY_CONTEXT_NAME
Key under which the Tapestry IoCRegistryis 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:
initin 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:
IOExceptionjavax.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:
doFilterin interfacejavax.servlet.Filter- Throws:
IOExceptionjavax.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:
destroyin 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-
-