关于Struts2找不到StrutsPrepareAndExecuteFilter解决方案和struts2.5的基础环境
关于Struts2找不到org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter解决方案和struts2.5的基础环境
解决方案
- 如果您使用的是struts2版本2.5,则需要从
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
更改为org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
问题分析
在我的struts2-core-2.3.15.3.jar包中,可以看到是存在
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
在web.xml中配置也是能看到没有问题。
所以在struts2.3这个版本中是完全没有问题的。不存在找不到的情况。
但在2.5版本呢?
我的struts2-core.jar包中(我截了struts.xml的图可已看出是2.5的哈)。
可以从struts2-core.jar这jar包中看到:org.apache.struts2.dispatcher下根本就没有ng的存在,即
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
是不存在的。而可以看到StrutsPrepareAndExecuteFilter在org.apache.struts2.dispatcher.filter
下。
- 如果还是org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter这样配置,那么可以看到在web.xml中变成了红色,表示找不到。
- 注意:官方给的最小struts2.5 jar包: