Class StrutsPrepareFilter

  • All Implemented Interfaces:
    javax.servlet.Filter, org.apache.struts2.StrutsStatics

    public class StrutsPrepareFilter
    extends org.apache.struts2.dispatcher.filter.StrutsPrepareFilter
    Among other things, this org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter wraps the original request and consumes the input stream. This is not desirable in all cases - servlets behind this URL pattern have to handle that (_especially_ if they handle file uploads). For example, UPM cannot. Setting that filter too narrowly will make stale ActionContexts visible in subsequent requests. (Action contexts can get created any time) This happens when request processing that does not include cleanup filter in its stack manipulates the ActionContext. This filter fixes this by delegating filtering only to specific URLs, but cleaning all of them.
    • Field Summary

      • Fields inherited from class org.apache.struts2.dispatcher.filter.StrutsPrepareFilter

        excludedPatterns, prepare, REQUEST_EXCLUDED_FROM_ACTION_MAPPING
      • Fields inherited from interface org.apache.struts2.StrutsStatics

        HTTP_REQUEST, HTTP_RESPONSE, PAGE_CONTEXT, SERVLET_CONTEXT, SERVLET_DISPATCHER, STRUTS_ACTION_TAG_INVOCATION, STRUTS_PORTLET_CONTEXT
    • Constructor Detail

      • StrutsPrepareFilter

        public StrutsPrepareFilter()
    • Method Detail

      • init

        public void init​(javax.servlet.FilterConfig filterConfig)
                  throws javax.servlet.ServletException
        Specified by:
        init in interface javax.servlet.Filter
        Overrides:
        init in class org.apache.struts2.dispatcher.filter.StrutsPrepareFilter
        Throws:
        javax.servlet.ServletException
      • doFilter

        public void doFilter​(javax.servlet.ServletRequest req,
                             javax.servlet.ServletResponse res,
                             javax.servlet.FilterChain chain)
                      throws IOException,
                             javax.servlet.ServletException
        Specified by:
        doFilter in interface javax.servlet.Filter
        Overrides:
        doFilter in class org.apache.struts2.dispatcher.filter.StrutsPrepareFilter
        Throws:
        IOException
        javax.servlet.ServletException