严重: Exception starting filter struts2
java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1362)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1208)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:207)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302)
我的struts2的项目导入了 commons-logging.jar   freeer-2.3.8.jar   ognl-2.6.11.jar  struts-core.2.0.6.jar xwork-2.0.1.jar  这5个标准 jar包了啊  怎么会出这个异常呢?

解决方案 »

  1.   

    commons-fileupload-1.2.1.jar这种类似的包加个。
      

  2.   

    dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    我的struts2不是这个filter奇怪了,你哪个版本的,我一般用2.0.14和2.1.18~~你的版本……不会用的是山寨版的struts2吧~~
      

  3.   

    org.apache.struts2.dispatcher.FilterDispatcher
    这个filter才对~~
      

  4.   


    这个以前的 最新的都用上面那个  不过还是这个成熟 那个好像还有bug
      

  5.   

    若是通过类路径添加库(如:User Library中struts2)的方式加入jar包,可能需要在该项目属性Properties->Java EE Module Dependencies中将该库(struts2)选中。
      

  6.   

    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    跟这个在版本上到底是哪个分的啊哪个是哪个版本啊
    org.apache.struts2.dispatcher.FilterDispatcher
      

  7.   

    StrutsPrepareAndExecuteFilter
    这个类是在struts2.1.3以后才有的.!你用的2.0的没有这个类,  核心过滤器你得找FilterDispatcher,而且你好像少了fileupload的包.!
      

  8.   

    2.1.3之后再struts2-core那个包下面去找
      

  9.   

    少了struts2-core-2.1.8.1.jar...加上去应该就没问题了
      

  10.   

    commons-fileupload-1.2.1.jar 是必须的.初始化的时候要struts.xml以上传的形式上传后解析的.
      

  11.   

    commons-fileupload- .jar
    commons-io- .jar
    建议引入这俩包
    低版本的没用过 不甚了解
    用过2.2.1
    需要如下几个包:
      

  12.   

    你的过滤器是什么样的?
    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    这个是我的,我刚刚也报错。然后,我追加了这个包commons-fileupload-1.2.1.jar和这个包commons-io-1.3.2.jar就好了。你试试看
      

  13.   

    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilters是struts-core.2.0.6
      

  14.   

    ng包下面的
    netx generation
      

  15.   


    我知道你哪里错了,并不是你哪个包没加,是你整合struts之后没有把项目加载到tomcat当中,jar包都没过去当然出错啦介绍个安卓的网站,业余时间做的,http://www.streetandroid.com
      

  16.   

    谢谢 在看到此楼方法之前,以上楼从基本属于浮云,我也出现的是这个问题,楼主是不是新建的项目再导包之类的,然后添加之后就启动tom猫了,我也出现了这样的问题,结果在tom猫里面把你的项目 刷新一下就搞定了。
      

  17.   

    出现同样的问题!我是这样配置的:在tomcat中的server.xml部署的,不好使,出现楼主的错误。但是用myeclipse中的部署就好使!后来发现用tomcat部署的lib库中就没有jar文件!把那些jar文件放到lib中就好了!
      

  18.   

    我解决了,确实是包导入问题。需要再导入 common-io , common-lang, javassist 才行
    我的是struts2.2.3
      

  19.   

    清理一下tomcat缓存,我的也是这个问题就是这样的解决的。
      

  20.   

    同样的问题,我用的是struts2.2.3,导入包有10个:
    struts2-core-2.2.3.jar
    xwork-core-2.2.3.jar
    ongl-3.0.1.jar
    jvassist-3.11.0.GA.jar
    freeer-2.3.16.jar
    commons-logging-1.1.1.jar
    commons-logging-api-1.1.1.jar
    commons-io-2.0.1.jar
    commons-fileuload-1.2.2.jar
    commons-lang-2.5.jar
    果断用不了!哎!
      

  21.   

    用这个包试试看
    struts2-core-2.1.8.1.jar
      

  22.   

    findjar.com 
    Information on class org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter:Containing JAR files:  [MAVEN2] struts2-core-2.1.6.jar
    [MAVEN2] struts2-core-2.1.8.jar
      

  23.   

    除了 friday055 其余的都是乱回答 
      

  24.   

    把项目需要导入的包复制到tomcat下的lib中就行了
      

  25.   

    我的相同问题解决了, 是引入包的问题. 
    在多引入common-io , common-lang, javassist 之后好了.
      

  26.   

    如果包导入和配置文件都没问题的话,有可能是之前某个部署的工程有错误,仔细查看caused by:..previous我的就是因为一个有错误的工程没管他,哎
      

  27.   

    跟这位回答基本一样struts-core.2.0.6.jarstruts2 有struts2.0.X 和struts2.1.X+你的.ng.filter.StrutsPrepareAndExecuteFilter【ng为下一代next generation】 需要struts2.1.X+这俩个版本用的拦截类不一样、需要仔细、
    你的2.0.X+的话 请用org.apache.struts2.dispatcher.FilterDispatcher 这样配置web.xml
      

  28.   

    我也出现这样的问题了,什么jar包都没缺少。我把项目拷贝到myeclipse中了,什么问题都没有了,估计是eclipse的问题吧
      

  29.   

    struts-core 这个包的版本出错了 要2.0以上的才有这个类