Class Overview
Servlet 2.3 Filter that exposes the request to the current thread,
through both LocaleContextHolder
and
RequestContextHolder
. To be registered as filter in web.xml
.
Alternatively, Spring's RequestContextListener
and Spring's DispatcherServlet
also expose
the same request context to the current thread.
This filter is mainly for use with third-party servlets, e.g. the JSF FacesServlet.
Within Spring's own web support, DispatcherServlet's processing is perfectly sufficient.
Summary
Protected Methods |
void
|
doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
Same contract as for doFilter , but guaranteed to be
just invoked once per request.
|
[Expand]
Inherited Methods |
From class
org.springframework.web.filter.OncePerRequestFilter
final
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.
|
abstract
void
|
doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
Same contract as for doFilter , but guaranteed to be
just invoked once per request.
|
String
|
getAlreadyFilteredAttributeName()
Return the name of the request attribute that identifies that a request
is already filtered.
|
boolean
|
shouldNotFilter(HttpServletRequest request)
Can be overridden in subclasses for custom filtering control,
returning true to avoid filtering of the given request.
|
|
From class
org.springframework.web.filter.GenericFilterBean
final
void
|
addRequiredProperty(String property)
Subclasses can invoke this method to specify that this property
(which must match a JavaBean property they expose) is mandatory,
and must be supplied as a config parameter.
|
void
|
afterPropertiesSet()
Calls the initFilterBean() method that might
contain custom initialization of a subclass.
|
void
|
destroy()
Subclasses may override this to perform custom filter shutdown.
|
final
FilterConfig
|
getFilterConfig()
Make the FilterConfig of this filter available, if any.
|
final
String
|
getFilterName()
Make the name of this filter available to subclasses.
|
final
ServletContext
|
getServletContext()
Make the ServletContext of this filter available to subclasses.
|
final
void
|
init(FilterConfig filterConfig)
Standard way of initializing this filter.
|
void
|
initBeanWrapper(BeanWrapper bw)
Initialize the BeanWrapper for this GenericFilterBean,
possibly with custom editors.
|
void
|
initFilterBean()
Subclasses may override this to perform custom initialization.
|
final
void
|
setBeanName(String beanName)
Stores the bean name as defined in the Spring bean factory.
|
void
|
setEnvironment(Environment environment)
Set the Environment that this object runs in.
Any environment set here overrides the DefaultWebEnvironment
provided by default.
|
final
void
|
setServletContext(ServletContext servletContext)
Stores the ServletContext that the bean factory runs in.
|
|
From class
java.lang.Object
Object
|
clone()
|
boolean
|
equals(Object arg0)
|
void
|
finalize()
|
final
Class<?>
|
getClass()
|
int
|
hashCode()
|
final
void
|
notify()
|
final
void
|
notifyAll()
|
String
|
toString()
|
final
void
|
wait()
|
final
void
|
wait(long arg0, int arg1)
|
final
void
|
wait(long arg0)
|
|
From interface
javax.servlet.Filter
abstract
void
|
destroy()
|
abstract
void
|
doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
|
abstract
void
|
init(FilterConfig arg0)
|
|
From interface
org.springframework.beans.factory.BeanNameAware
abstract
void
|
setBeanName(String name)
Set the name of the bean in the bean factory that created this bean.
|
|
From interface
org.springframework.beans.factory.DisposableBean
abstract
void
|
destroy()
Invoked by a BeanFactory on destruction of a singleton.
|
|
From interface
org.springframework.beans.factory.InitializingBean
abstract
void
|
afterPropertiesSet()
Invoked by a BeanFactory after it has set all bean properties supplied
(and satisfied BeanFactoryAware and ApplicationContextAware).
|
|
From interface
org.springframework.context.EnvironmentAware
|
From interface
org.springframework.web.context.ServletContextAware
abstract
void
|
setServletContext(ServletContext servletContext)
Set the ServletContext that this object runs in.
|
|
Public Constructors
public
RequestContextFilter
()
Public Methods
public
void
setThreadContextInheritable
(boolean threadContextInheritable)
Set whether to expose the LocaleContext and RequestAttributes as inheritable
for child threads (using an InheritableThreadLocal
).
Default is "false", to avoid side effects on spawned background threads.
Switch this to "true" to enable inheritance for custom child threads which
are spawned during request processing and only used for this request
(that is, ending after their initial task, without reuse of the thread).
WARNING: Do not use inheritance for child threads if you are
accessing a thread pool which is configured to potentially add new threads
on demand (e.g. a JDK ThreadPoolExecutor
),
since this will expose the inherited context to such a pooled thread.
Protected Methods
protected
void
doFilterInternal
(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
Same contract as for doFilter
, but guaranteed to be
just invoked once per request. Provides HttpServletRequest and
HttpServletResponse arguments instead of the default ServletRequest
and ServletResponse ones.