【www.gdgbn.com--linux】

这是我这几天遇到的一个问题,最后发现是一个低级的错误,不过还是值得记录下来:
1、问题现象:
我在Eclipse通过MyEclipse创建一个WebProject,使用Struts1.2。在Eclipse运行没有问题,于是就是用Eclipse的Export功能,导出为一个war文件,将该war文件解压后放到了Tomcat的webapps目录,启动tomcat。访问时在浏览器中就遇到了问题:
javax.servlet.ServletException: Cannot find ActionMappings or ActionFormBeans collection
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:846)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.index_jsp._jspService(index_jsp.java:102)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


运行环境: Tomcat5.5.23, JDK1.5.14 
 
2、问题原因
MyEclipse使用的JDK版本(1.6)和Tomcat使用的版本(1.5)不一致。当我把Struts去掉,直接使用Servlet时,问题就暴露了, 提示Bad version in .class file. 于是更改了Tomcat使用的JDK版本,问题解决。

这里我也把热心的sp16052380的回答转帖过来:
多种情况会导致这个问题,但大致就是以下几种情况:

1。Web.xml未初始化问题
少了一个 0
这样开始是没有加载这个类,就没有初始化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 fi

本文来源:http://www.gdgbn.com/caozuoxitong/13543/