Package org.springframework.web.filter
Class CompositeFilter
java.lang.Object
org.springframework.web.filter.CompositeFilter
- All Implemented Interfaces:
Filter
A generic composite servlet
Filter
that just delegates its behavior
to a chain (list) of user-supplied filters, achieving the functionality of a
FilterChain
, but conveniently using only Filter
instances.
This is useful for filters that require dependency injection, and can
therefore be set up in a Spring application context. Typically, this
composite would be used in conjunction with DelegatingFilterProxy
,
so that it can be declared in Spring but applied to a servlet context.
- Since:
- 3.1
- Author:
- Dave Syer
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
destroy()
Clean up all the filters supplied, calling each one's destroy method in turn, but in reverse order.void
doFilter
(ServletRequest request, ServletResponse response, FilterChain chain) Forms a temporary chain from the list of delegate filters supplied (setFilters(java.util.List<? extends jakarta.servlet.Filter>)
) and executes them in order.void
init
(FilterConfig config) Initialize all the filters, calling each one's init method in turn in the order supplied.void
setFilters
(List<? extends Filter> filters)
-
Constructor Details
-
CompositeFilter
public CompositeFilter()
-
-
Method Details
-
setFilters
-
init
Initialize all the filters, calling each one's init method in turn in the order supplied.- Specified by:
init
in interfaceFilter
- Throws:
ServletException
- See Also:
-
doFilter
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException Forms a temporary chain from the list of delegate filters supplied (setFilters(java.util.List<? extends jakarta.servlet.Filter>)
) and executes them in order. Each filter delegates to the next one in the list, achieving the normal behavior of aFilterChain
, despite the fact that this is aFilter
.- Specified by:
doFilter
in interfaceFilter
- Throws:
IOException
ServletException
- See Also:
-
destroy
public void destroy()Clean up all the filters supplied, calling each one's destroy method in turn, but in reverse order.
-