大家好,我在配置strut2的时候,启动tomcat后发生这样的错误严重: Exception starting filter struts2
java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:133)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:256)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:382)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:103)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4650)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5306)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1100)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1618)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)三月 20, 2013 9:49:15 下午 org.apache.catalina.core.StandardContext startInternal
严重: Error filterStart
弄了一天了,还是没弄好,请给小弟指点,谢谢!!!!
我的web.xml文件配置如下:<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">        <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>    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list></web-app>
我的strut2.xml文件配置如下:<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd"><struts>       <package name="default" namespace="/" extends="struts-default">                <action name="hello" class="com.MyAction">
            <result name="success">
               /hello.jsp
            </result>
        </action>
    </package>   </struts>
struts2 开发环境 javaee

解决方案 »

  1.   

    是不是配置的监听器问题,貌似是struts 2版本问题<filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
            <!-- 自从2.1.3以后下面的FilterDispatcher 已经标记为过时的了-->
            <!-- <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>  -->
        </filter>
        <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
      

  2.   

    看一下你导入的jar包是否有错
      

  3.   

    同楼上
    就是没有正确导入包含此类org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter的jar包
      

  4.   

    这是我的jar包  ,请问还有什么欠缺的?
      

  5.   

    楼主看一下自己的服务器, 我今天下午也出现了同样的错误, 不知道我们的情况一不一样.
    我用的是tomcat, 在tomcat的安装目录下有个webapp文件夹, 里面存放的是你部署的项目, 如果文件夹中存在你之前部署的项目, 而你又在myeclipse中把这个项目关闭了, 当你部署项目的时候就会出现这个问题. 我的就是这个问题, 我把在myeclipse中关掉的项目从webapp文件夹中删除了, 就可以了.ps: 只删除自己认识的项目就好, 不要乱删哦~~
      

  6.   

    是什么版本问题,我后来查了下
    Struts 2.3.4.1是包含这个类StrutsPrepareAndExecuteFilter的