由于公司一直用的struts1,所以一直没机会用struts2,我以前也学过struts2,今天我再次用的时候我郁闷了。
我的软件环境是用MyEclipse4.0开发,服务器用的tomcat5.5,jdk是1.5,以及struts2.16的几个核心jar,
分别是:
commons-fileupload-1.2.1.jar
commons-logging-1.0.4.jar
freeer-2.3.13.jar
ognl-2.6.11.jar
struts2-core-2.1.6.jar
xwork-2.1.2.jar这是当我启动tomcat时报的异常
严重: Exception starting filter struts2
java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1438)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1284)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:207这是我的web.xml的配置片段
          <filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
我确信基本上我的配置啊。以及jar包啊是正确的。做了这么久程序员不至于犯这些低级错误。
并且我把该项目发给朋友让他运行,他可以正常运行。而我以运行tomcat就抛异常。各位看看到底怎么回事。

解决方案 »

  1.   

    <filter>
    - <!--  定义核心Filter的名字 
      --> 
      <filter-name>struts2</filter-name> 
    - <!--  定义核心Filter的实现类 
      --> 
      <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> 
      </filter>
    做如下改动看!
      

  2.   


    2.1.6在书上推荐用此过滤器,我个人觉得由此引起你这个问题的可能性应该不大。毕竟StrutsPrepareAndExecuteFilter是最新的
      

  3.   

    其实我就想问问有朋友们遇到过没有。看大家怎么解决的,这个东西我估计是一些版本不兼容问题,而且我的最大怀疑就是MyEclipse的问题,但是想想又不太可能他只是一个工具而已不参与你的程序,但是我换过tomcat,没用,连续重新部署,不管怎样不至于启动的时候报找不到类的异常(ClassNotFoundException)吧!期待解决中!!!
      

  4.   

    我遇到过,不过改为<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> 
    就没有问题了,应该是版本兼容问题把,或许就是struts2的一个bug,同意lz的说法!