Struts2 配置及运行时遇到问题

1.java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter报错问题:

造成问题的原因:

          1.没有加载相应.jar包。

          2.加载的.jar包的版本问题。

      解决方法:

方法一:

  1.把struts2-core-2.3.20.jar包复制放到项目下的WebContent-->WEB-INF-->lib目录,粘贴。

  找到WebContent-->WEB-INF-->web.xml文件,找到

      

  选中org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter按Ctrl+Shift+T

  当出现下面情况时,说明找到了并加载了StrutsPrepareAndExecuteFilter这个类。

      

   再重新运行,那么问题就解决了。如果还没有解决,请看第二种方法:

方法二:

 检查一下struts2-core.jar包的版本问题

  struts2.1.3以前版本和之后版本:当前版本是2.1.3之后的版本

    struts2中StrutsPrepareAndExecuteFilter 异常如果是2.1.3之前的版本用org.apache.struts2.dispatcher.FilterDispatcher,

    否则org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。 

  因为从Struts2.1.3开始,将废弃ActionContextCleanUp过滤器,而在StrutsPrepareAndExecuteFilter过滤器中包含相应的功能。在web.xml中做修改红色字体部分    
     
     <filter>   
       <filter-name>struts2</filter-name>   
       <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>   
       </filter>   

    <filter-mapping>   
       <filter-name>struts2</filter-name>   
         <url-pattern>/*</url-pattern>   
   </filter-mapping>

 通过上面两种方法,就可以解决java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter报错问题。

原文地址:https://www.cnblogs.com/jiangxifanzhouyudu/p/6985048.html