Package com.atlassian.bamboo.ww2
Class StrutsPrepareFilter
java.lang.Object
org.apache.struts2.dispatcher.filter.StrutsPrepareFilter
com.atlassian.bamboo.ww2.StrutsPrepareFilter
- All Implemented Interfaces:
javax.servlet.Filter
,org.apache.struts2.StrutsStatics
public class StrutsPrepareFilter
extends org.apache.struts2.dispatcher.filter.StrutsPrepareFilter
This filter extends Struts' default one by registering a filter with the same name ("struts-prepare").
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.
Since Bamboo 11.0, the default Dispatcher is replaced by PluginAwareStrutsDispatcher, which hooks in the plugin-aware configuration.
-
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
ACTION_MAPPING, HTTP_REQUEST, HTTP_RESPONSE, PAGE_CONTEXT, SERVLET_CONTEXT, SERVLET_DISPATCHER, STRUTS_ACTION_TAG_INVOCATION, STRUTS_PORTLET_CONTEXT
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected org.apache.struts2.dispatcher.InitOperations
void
doFilter
(javax.servlet.ServletRequest req, javax.servlet.ServletResponse res, javax.servlet.FilterChain chain) Methods inherited from class org.apache.struts2.dispatcher.filter.StrutsPrepareFilter
createPrepareOperations, destroy, init, postInit
-
Constructor Details
-
StrutsPrepareFilter
public StrutsPrepareFilter()
-
-
Method Details
-
createInitOperations
protected org.apache.struts2.dispatcher.InitOperations createInitOperations()- Overrides:
createInitOperations
in classorg.apache.struts2.dispatcher.filter.StrutsPrepareFilter
-
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 interfacejavax.servlet.Filter
- Overrides:
doFilter
in classorg.apache.struts2.dispatcher.filter.StrutsPrepareFilter
- Throws:
IOException
javax.servlet.ServletException
-