你用winzip将war解压,看看里面少什么文件不?

解决方案 »

  1.   

    应该没有少文件,在Eclipse的Struts 1.2 Libraries下面的所有文件都在的,下面WEB-INF/lib下的所有文件:
     antlr-2.7.6rc1.jar
     antlr.jar
     asm-attrs.jar
     asm.jar
     cglib-2.1.3.jar
     commons-beanutils.jar
     commons-collections-2.1.1.jar
     commons-digester.jar
     commons-fileupload.jar
     commons-logging-1.0.4.jar
     commons-logging.jar
     commons-validator.jar
     dom4j-1.6.1.jar
     ehcache-1.1.jar
     hibernate3.jar
     jaas.jar
     jakarta-oro.jar
     jaxen-1.1-beta-7.jar
     jdbc2_0-stdext.jar
     jta.jar
     log4j-1.2.11.jar
     mysql-connector-java-5.0.8-bin.jar
     struts.jar
     xerces-2.6.2.jar
     xml-apis.jar那我把struts-config.xml和web.xml也贴出来吧:============================== struts-config.xml =====================================
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config>
      <data-sources />
      <form-beans >
        <form-bean name="loginForm" type="com.zhang.struts.form.LoginForm" />
        <form-bean name="taskForm" type="com.zhang.struts.form.TaskForm" />  </form-beans>  <global-exceptions />
      <global-forwards >
          </global-forwards>  <action-mappings >
        <action
          attribute="loginForm"
          input="/index.jsp"
          name="loginForm"
          path="/login"
          scope="request"
          type="com.zhang.struts.action.LoginAction">
          <forward name="investigation" path="/investigation.jsp" />
          <forward name="task" path="/task.jsp" />
          <forward name="fail" path="/index.jsp" />
        </action>
        <action
          attribute="taskForm"
          input="/task.jsp"
          name="taskForm"
          path="/task"
          scope="request"
          type="com.zhang.struts.action.TaskAction">
          <forward name="investigation" path="/investigation.jsp" />
          <forward name="logout" path="/index.jsp" />
          <forward name="fail" path="/task.jsp" />
        </action>  </action-mappings>  <message-resources parameter="com.zhang.struts.ApplicationResources" />
    </struts-config>=============================================================================
    ====================================  web.xml   ==============================<?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
      <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
          <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
          <param-name>debug</param-name>
          <param-value>3</param-value>
        </init-param>
        <init-param>
          <param-name>detail</param-name>
          <param-value>3</param-value>
        </init-param>
        <load-on-startup>0</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>==============================================================================
      

  2.   

    你的web.xml里怎么那么多空格????你把
    <servlet> 
         <servlet-name>action </servlet-name> 
         <servlet-class>org.apache.struts.action.ActionServlet </servlet-class> 
         <init-param> 
           <param-name>config </param-name> 
           <param-value>/WEB-INF/struts-config.xml </param-value> 
         </init-param> 
         <init-param> 
           <param-name>debug </param-name> 
           <param-value>3 </param-value> 
         </init-param> 
         <init-param> 
           <param-name>detail </param-name> 
           <param-value>3 </param-value> 
         </init-param> 
         <load-on-startup>0 </load-on-startup> 
       </servlet> 
       <servlet-mapping> 
         <servlet-name>action </servlet-name> 
         <url-pattern>*.do </url-pattern> 
       </servlet-mapping> 
       <welcome-file-list> 
         <welcome-file>index.jsp </welcome-file> 
       </welcome-file-list> 里的空格去掉试下吧。
      

  3.   

    <action-mappings > 
    这里也有空格自己多检查下吧,或者可以使用什么工具xml语法错了就全错了
      

  4.   

    里面的空格在Notepad++是没有的,可能是复制到这里的缘故
      

  5.   

    把config文件中的路径换成绝对路径,
    再看看war包中有没有把form对应的class打进来
      

  6.   

    应该就是路径或者配置问题
    具体在哪不知道,我觉得应该在web.xml和struts-config.xml里检查
      

  7.   

    谢谢 kerry_lulu 和 heisetoufa,class文件是不少的,我已经检查过了。
      

  8.   

    Web.xml有初始化没 
     <load-on-startup>0 </load-on-startup> 
    如果开始是没有加载这个类,就没有初始化struts-config.xml,所以找不到ActionMappings or ActionFormBeans collection  或者是jar包问题
    不全,或者是版本 
      

  9.   

    以前碰到过这样的问题,记得好像是Struts-Config.xml里面配置的问题。
      

  10.   

    我也曾经遇到过这个问题,可能是你的struts的Jar有问题,你把struts的Jar换一下
      

  11.   

    错误:exception: cannot find actionmappings or actionformbeans collection 多种情况会导致这个问题,但大致就是以下几种情况:1。Web.xml未初始化问题
    少了一个<load-on-startup>0</load-on-startup>
    这样开始是没有加载这个类,就没有初始化struts-config.xml,所以找不到
    actionmappings or actionformbeans collection。2。struts-config.xml问题3。jar包不全或版本不对
    也有可能导致这个问题,从stuts例子里面拷过来就好了。struts1.1自带共10个jar包。4。编译问题
    有可能Action和Formbean没有编译,也会有这个问题,检查一下有没有对应的class文件就好。class路径不对可能也会导致这个问题。5。版本问题
    用的servlet容器和struts版本不对或这两个版本协调有问题。
    在以上几条都不能解决问题的情况下,可能就是版本的问题了,换个高版本试试吧
    Cannot find ActionMappings or ActionFormBeans collection的错误调试今天在做struts的连接试验,结果配置完成之后发现调不通,运行之后,出现错误:
    javax.servlet.ServletException: Cannot find ActionMappings or ActionFormBeans collection
    反复修改web.xml 和 struts-config.xml 无果。
    确定配置没错之后,从其他方面找原因。
    最后发现,类库中jar包不全,于是将
    commons-beanutils.jar
    commons-collections.jar
    commons-dbcp.jar
    commons-digester.jar
    commons-fileupload.jar
    commons-lang.jar
    commons-pool.jar
    commons-resources.jar
    commons-validator.jar
    拷入lib中,问题得到解决,并调试通过。 
      

  12.   

    问题解决,多谢各位。
    原因是:MyEclipse使用的JDK版本(1.6)和Tomcat使用的版本(1.5)不一致。当我把Struts去掉,直接使用Servlet时,问题就暴露了, 提示Bad version in .class file. 于是更改了Tomcat使用的JDK版本,问题解决。
    再次感谢各位的努力!!