Class GuiceFilter

java.lang.Object
com.google.inject.servlet.GuiceFilter
All Implemented Interfaces:
javax.servlet.Filter

public class GuiceFilter extends 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.
  • Field Details

    • localContext

      static final ThreadLocal<GuiceFilter.Context> localContext
    • pipeline

      static volatile FilterPipeline pipeline
    • injectedPipeline

      private final FilterPipeline injectedPipeline
      We allow both the static and dynamic versions of the pipeline to exist.
    • servletContext

      static volatile WeakReference<javax.servlet.ServletContext> servletContext
      Used to inject the servlets configured via ServletModule
    • MULTIPLE_INJECTORS_WARNING

      private static final String MULTIPLE_INJECTORS_WARNING
    • LOGGER

      private static final Logger LOGGER
  • Constructor Details

  • Method Details

    • setPipeline

      @Inject static void setPipeline(FilterPipeline pipeline)
    • reset

      static void reset()
    • doFilter

      public void doFilter(javax.servlet.ServletRequest servletRequest, javax.servlet.ServletResponse servletResponse, javax.servlet.FilterChain filterChain) throws IOException, javax.servlet.ServletException
      Specified by:
      doFilter in interface javax.servlet.Filter
      Throws:
      IOException
      javax.servlet.ServletException
    • getOriginalRequest

      static javax.servlet.http.HttpServletRequest getOriginalRequest(Key<?> key)
    • getRequest

      static javax.servlet.http.HttpServletRequest getRequest(Key<?> key)
    • getResponse

      static javax.servlet.http.HttpServletResponse getResponse(Key<?> key)
    • getServletContext

      static javax.servlet.ServletContext getServletContext()
    • getContext

      private static GuiceFilter.Context getContext(Key<?> key)
    • init

      public void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException
      Specified by:
      init in interface javax.servlet.Filter
      Throws:
      javax.servlet.ServletException
    • destroy

      public void destroy()
      Specified by:
      destroy in interface javax.servlet.Filter
    • getFilterPipeline

      private FilterPipeline getFilterPipeline()