关于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
    struts2-core-2.3.15.3.jar截图

  • 在web.xml中配置也是能看到没有问题。
    2.3.15.3.jar的web配置

  • 所以在struts2.3这个版本中是完全没有问题的。不存在找不到的情况。

  • 但在2.5版本呢?

  • 我的struts2-core.jar包中(我截了struts.xml的图可已看出是2.5的哈)。
    struts2.xml截图

  • 可以从struts2-core.jar这jar包中看到:org.apache.struts2.dispatcher下根本就没有ng的存在,即org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter是不存在的。而可以看到StrutsPrepareAndExecuteFilter在org.apache.struts2.dispatcher.filter下。

struts2-core.jar截图

  • 如果还是org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter这样配置,那么可以看到在web.xml中变成了红色,表示找不到。
    web截图
  • 注意:官方给的最小struts2.5 jar包:
    最小struts2.5 jar
全部评论

相关推荐

头像
05-14 12:29
安卓
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务