public class GuiceFilter
extends java.lang.Object
implements javax.servlet.Filter
Apply this filter in web.xml above all other filters (typically), to all requests where you plan to use servlet scopes. This is also needed in order to dispatch requests to injectable filters and servlets:
<filter>
<filter-name>guiceFilter</filter-name>
<filter-class>com.google.inject.servlet.GuiceFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>guiceFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
This filter must appear before every filter that makes use of Guice injection or servlet
scopes functionality. Typically, you will only register this filter in web.xml and register
any other filters (and servlets) using a ServletModule.| Modifier and Type | Class and Description |
|---|---|
(package private) static class |
GuiceFilter.Context |
| Modifier and Type | Field and Description |
|---|---|
private FilterPipeline |
injectedPipeline
We allow both the static and dynamic versions of the pipeline to exist.
|
(package private) static java.lang.ThreadLocal<GuiceFilter.Context> |
localContext |
private static java.util.logging.Logger |
LOGGER |
private static java.lang.String |
MULTIPLE_INJECTORS_WARNING |
(package private) static FilterPipeline |
pipeline |
(package private) static java.lang.ref.WeakReference<javax.servlet.ServletContext> |
servletContext
Used to inject the servlets configured via
ServletModule |
| Constructor and Description |
|---|
GuiceFilter() |
GuiceFilter(FilterPipeline filterPipeline) |
| Modifier and Type | Method and Description |
|---|---|
void |
destroy() |
void |
doFilter(javax.servlet.ServletRequest servletRequest,
javax.servlet.ServletResponse servletResponse,
javax.servlet.FilterChain filterChain) |
private static GuiceFilter.Context |
getContext(Key<?> key) |
private FilterPipeline |
getFilterPipeline() |
(package private) static javax.servlet.http.HttpServletRequest |
getOriginalRequest(Key<?> key) |
(package private) static javax.servlet.http.HttpServletRequest |
getRequest(Key<?> key) |
(package private) static javax.servlet.http.HttpServletResponse |
getResponse(Key<?> key) |
(package private) static javax.servlet.ServletContext |
getServletContext() |
void |
init(javax.servlet.FilterConfig filterConfig) |
(package private) static void |
reset() |
(package private) static void |
setPipeline(FilterPipeline pipeline) |
static final java.lang.ThreadLocal<GuiceFilter.Context> localContext
static volatile FilterPipeline pipeline
private final FilterPipeline injectedPipeline
static volatile java.lang.ref.WeakReference<javax.servlet.ServletContext> servletContext
ServletModuleprivate static final java.lang.String MULTIPLE_INJECTORS_WARNING
private static final java.util.logging.Logger LOGGER
public GuiceFilter()
@Inject GuiceFilter(FilterPipeline filterPipeline)
@Inject static void setPipeline(FilterPipeline pipeline)
static void reset()
public void doFilter(javax.servlet.ServletRequest servletRequest,
javax.servlet.ServletResponse servletResponse,
javax.servlet.FilterChain filterChain)
throws java.io.IOException,
javax.servlet.ServletException
doFilter in interface javax.servlet.Filterjava.io.IOExceptionjavax.servlet.ServletExceptionstatic javax.servlet.http.HttpServletRequest getOriginalRequest(Key<?> key)
static javax.servlet.http.HttpServletRequest getRequest(Key<?> key)
static javax.servlet.http.HttpServletResponse getResponse(Key<?> key)
static javax.servlet.ServletContext getServletContext()
private static GuiceFilter.Context getContext(Key<?> key)
public void init(javax.servlet.FilterConfig filterConfig)
throws javax.servlet.ServletException
init in interface javax.servlet.Filterjavax.servlet.ServletExceptionpublic void destroy()
destroy in interface javax.servlet.Filterprivate FilterPipeline getFilterPipeline()