|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.elasticpath.sfweb.filters.EpFilterToBeanProxy
public class EpFilterToBeanProxy
Delegates Filter
requests to a Spring-managed bean.
This class acts as a proxy on behalf of a target Filter
that is
defined in the Spring bean context. It is necessary to specify which target
Filter
should be proxied as a filter initialization parameter.
On filter initialisation, the class will use Spring's WebApplicationContextUtils.getWebApplicationContext(ServletContext sc)
method to obtain an ApplicationContext
instance. It will
expect to find the target Filter
in this
ApplicationContext
.
To use this filter, it is necessary to specify one of the following filter initialization parameters:
targetClass
indicates the class of the target
Filter
defined in the bean context. The only requirements are
that this target class implements the javax.servlet.Filter
interface and at least one instance is available in the
ApplicationContext
.
targetBean
indicates the bean name of the target class.
targetBean
takes priority.
An additional initialization parameter, init
, is also
supported. If set to "lazy
" the initialization will take place
on the first HTTP request, rather than at filter creation time. This makes
it possible to use FilterToBeanProxy
with the Spring
ContextLoaderServlet
. Where possible you should not use this
initialization parameter, instead using ContextLoaderListener
.
A final optional initialization parameter, lifecycle
,
determines whether the servlet container or the IoC container manages the
lifecycle of the proxied filter. When possible you should write your
filters to be managed via the IoC container interfaces such as InitializingBean
and DisposableBean
. If you cannot control
the filters you wish to proxy (eg you do not have their source code) you
might need to allow the servlet container to manage lifecycle via the
Filter.init(javax.servlet.FilterConfig)
and Filter.destroy()
methods. If this case, set the
lifecycle
initialization parameter to
servlet-container-managed
. If the parameter is any other
value, servlet container lifecycle methods will not be delegated through to
the proxy.
Constructor Summary | |
---|---|
EpFilterToBeanProxy()
|
Method Summary | |
---|---|
void |
destroy()
Called by the web container to indicate to a filter that it is being taken out of service. |
void |
doFilter(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
javax.servlet.FilterChain chain)
Filter the request. |
void |
init(javax.servlet.FilterConfig filterConfig)
Initialize the filter. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public EpFilterToBeanProxy()
Method Detail |
---|
public void destroy()
destroy
in interface javax.servlet.Filter
public void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) throws java.io.IOException, javax.servlet.ServletException
doFilter
in interface javax.servlet.Filter
request
- the requestresponse
- the responsechain
- the filter chain
java.io.IOException
- in case of error
javax.servlet.ServletException
- in case of errorpublic void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException
init
in interface javax.servlet.Filter
filterConfig
- a filter configuration object
javax.servlet.ServletException
- in case of error
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |