|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.web.filter.GenericFilterBean org.springframework.web.filter.OncePerRequestFilter
public abstract class OncePerRequestFilter
Filter base class that guarantees to be just executed once per request,
on any servlet container. It provides a doFilterInternal(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain)
method with HttpServletRequest and HttpServletResponse arguments.
The getAlreadyFilteredAttributeName()
method determines how
to identify that a request is already filtered. The default implementation
is based on the configured name of the concrete filter instance.
Field Summary | |
---|---|
static String |
ALREADY_FILTERED_SUFFIX
Suffix that gets appended to the filter name for the "already filtered" request attribute. |
Fields inherited from class org.springframework.web.filter.GenericFilterBean |
---|
logger |
Constructor Summary | |
---|---|
OncePerRequestFilter()
|
Method Summary | |
---|---|
void |
doFilter(ServletRequest request,
ServletResponse response,
FilterChain filterChain)
This doFilter implementation stores a request attribute for
"already filtered", proceeding without filtering again if the
attribute is already there. |
protected abstract void |
doFilterInternal(HttpServletRequest request,
HttpServletResponse response,
FilterChain filterChain)
Same contract as for doFilter , but guaranteed to be
just invoked once per request. |
protected String |
getAlreadyFilteredAttributeName()
Return the name of the request attribute that identifies that a request is already filtered. |
protected boolean |
shouldNotFilter(HttpServletRequest request)
Can be overridden in subclasses for custom filtering control, returning true to avoid filtering of the given request. |
Methods inherited from class org.springframework.web.filter.GenericFilterBean |
---|
addRequiredProperty, afterPropertiesSet, destroy, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContext |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String ALREADY_FILTERED_SUFFIX
getAlreadyFilteredAttributeName()
,
Constant Field ValuesConstructor Detail |
---|
public OncePerRequestFilter()
Method Detail |
---|
public final void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws ServletException, IOException
doFilter
implementation stores a request attribute for
"already filtered", proceeding without filtering again if the
attribute is already there.
ServletException
IOException
getAlreadyFilteredAttributeName()
,
shouldNotFilter(javax.servlet.http.HttpServletRequest)
,
doFilterInternal(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain)
protected String getAlreadyFilteredAttributeName()
Default implementation takes the configured name of the concrete filter instance and appends ".FILTERED". If the filter is not fully initialized, it falls back to its class name.
GenericFilterBean.getFilterName()
,
ALREADY_FILTERED_SUFFIX
protected boolean shouldNotFilter(HttpServletRequest request) throws ServletException
true
to avoid filtering of the given request.
The default implementation always returns false
.
request
- current HTTP request
ServletException
- in case of errorsprotected abstract void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException
doFilter
, but guaranteed to be
just invoked once per request. Provides HttpServletRequest and
HttpServletResponse arguments instead of the default ServletRequest
and ServletResponse ones.
ServletException
IOException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |