public class CompositeFilter extends Object implements javax.servlet.Filter
Filter
that just delegates its behaviour 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.Constructor and Description |
---|
CompositeFilter() |
Modifier and Type | Method and Description |
---|---|
void |
destroy()
Clean up all the filters supplied, calling each one's destroy method in turn, but in reverse order.
|
void |
doFilter(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
javax.servlet.FilterChain chain)
Forms a temporary chain from the list of delegate filters supplied (
setFilters(List) ) and executes them
in order. |
void |
init(javax.servlet.FilterConfig config)
Initialize all the filters, calling each one's init method in turn in the order supplied.
|
void |
setFilters(List<? extends javax.servlet.Filter> filters) |
public void setFilters(List<? extends javax.servlet.Filter> filters)
public void destroy()
destroy
in interface javax.servlet.Filter
Filter.init(FilterConfig)
public void init(javax.servlet.FilterConfig config) throws javax.servlet.ServletException
init
in interface javax.servlet.Filter
javax.servlet.ServletException
Filter.init(FilterConfig)
public void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) throws IOException, javax.servlet.ServletException
setFilters(List)
) and executes them
in order. Each filter delegates to the next one in the list, achieving the normal behaviour of a
FilterChain
, despite the fact that this is a Filter
.doFilter
in interface javax.servlet.Filter
IOException
javax.servlet.ServletException
Filter.doFilter(ServletRequest, ServletResponse, FilterChain)
Copyright © 2013. All Rights Reserved.