Update to a newer version due to a vulnerability in low version Struts2. At startup, the following warning message is reported:
**************************************************************************** WARNING!!! * * * >>> actioncontextcleanup <<&L T Is deprecated! Use the new filters! * * * * This can is a source of unpredic Table problems! * * * * * Refer to the docs for More details! * * http://struts.apache.org/ 2.x/docs/webxml.html * * ********************************************************* *******************
Since the 2.1.3 version, theactioncontextcleanup and filterdispatcher have been replaced by Strutsprepareandexecutefilter , The configuration is as follows:
Comment out
<Filter> <Filter-name>Struts2cleanupfilter</Filter-name> <Filter-class>Org.apache.struts2.dispatcher.ActionContextCleanUp</Filter-class> </Filter> <filter-mapping> <Filter-name>Struts2cleanupfilter</Filter-name> <Url-pattern>/*</Url-pattern> <Dispatcher>REQUEST</Dispatcher> <Dispatcher>FORWARD</Dispatcher> </filter-mapping>
And
<Filter> <Filter-name>Struts2</Filter-name> <Filter-class>Org.apache.struts2.dispatcher.FilterDispatcher</Filter-class></Filter><filter-mapping> <Filter-name>Struts2</Filter-name> <Url-pattern>*.nt</Url-pattern> <Dispatcher>REQUEST</Dispatcher> <Dispatcher>FORWARD</Dispatcher> <Dispatcher>INCLUDE</Dispatcher> </filter-mapping>
Switch
<Filter> <Filter-name>Struts2filter</Filter-name> <Filter-class>Org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</Filter-class> </Filter> <filter-mapping> <Filter-name>Struts2filter</Filter-name> <Url-pattern>/*</Url-pattern> <Dispatcher>REQUEST</Dispatcher> <Dispatcher>FORWARD</Dispatcher> </filter-mapping>
Also, if you want to use Sitemesh, follow strutspreparefilter , Sitemesh - s Trutsexecutefilter Configure the filter in the order that the Sitemesh is configured in the middle, as follows:
<Filter> <Filter-name>Strutspreparefilter</Filter-name> <Filter-class>Org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</Filter-class></Filter><Filter> <Filter-name>Sitemesh</Filter-name> <Filter-class>Com.opensymphony.module.sitemesh.filter.PageFilter</Filter-class></Filter><Filter> <Filter-name>Strutsexecutefilter</Filter-name> <Filter-class>Org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</Filter-class></Filter><filter-mapping> <Filter-name>Strutspreparefilter</Filter-name> <Url-pattern>/*</Url-pattern></filter-mapping><filter-mapping> <Filter-name>Sitemesh</Filter-name> <Url-pattern>/*</Url-pattern></filter-mapping><filter-mapping> <Filter-name>Strutsexecutefilter</Filter-name> <Url-pattern>/*</Url-pattern></filter-mapping>
STRUTS2 version update error:>>> Actioncontextcleanup <<< is deprecated! Use the new filters!