zoukankan      html  css  js  c++  java
  • 解决关于 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 异常的原因

    先来看一下,让人迷惑的异常截图,以便再次加深迷惑的感受。

    感受之后,就要找原因了,这样迷惑下去不是办法。

    1. 为什么会出现这个错误?

    很明显,错误已经明确的提示到没有找到这类。也就是说,这个类不存在。

    开什么玩笑?一直用的好好的怎么就突然不存在了?这不科学啊!

    2. 这个类为什么不存在?

    问题已经定向到了错误范围,那就从struts2 这个jar包开始吧,经过排查发现是有这个类的,如图:

    那就奇怪了,以前用的都好好的,今天突然就没有了?不信邪,继续分析。。。。

    排查pom文件 ,与之前正常项目对比了一下,发现一处不同,之前用的struts2是2.3版本的,而今天高兴将它换成了2.5的,如图:

    也许问题就在这,翻越大量的关于官方版本变动的表述,最后确认到:

    2.4 以后的struts2过滤类文件 StrutsPrepareAndExecuteFilter.class 的结构已经做了调整,没有ng 这个包了,

    因此,配置文件中这句代码才会导致异常,因为系统启动时找不到它。

    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

    所以,将配置文件换成这段代码就可以了。

    <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>

    最后总结:

    因为struts2版本在2.4开始做了结构调整导致的,所以配置struts2时,一定要注意这个文件的位置结构就不会有这个问题了。

  • 相关阅读:
    C++ P1890 gcd区间
    C++ P1372 又是毕业季I
    C++ CF822A I'm bored with life
    C++ P4057 [Code+#1]晨跑
    C++ CF119A Epic Game
    关于树状数组的几点总结
    markdown语法
    portal开发"下拉框"“日期框”查询要怎么配置
    泛型总结--待续
    Actioncontext跟ServletActionContext的区别---未完待续
  • 原文地址:https://www.cnblogs.com/mcqueen/p/13191552.html
Copyright © 2011-2022 走看看