JDK版本问题导致的javax.servlet.ServletException: Cannot find ActionMappings or ActionFormBeans collection

这是我这几天遇到的一个问题,最后发现是一个低级的错误,不过还是值得记录下来:
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未初始化问题
少了一个 <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中,问题得到解决,并调试通过。

时间: 2024-09-19 13:54:34

JDK版本问题导致的javax.servlet.ServletException: Cannot find ActionMappings or ActionFormBeans collection的相关文章

JDK版本问题导致的javax.servlet.ServletException: Cannot f

这是我这几天遇到的一个问题,最后发现是一个低级的错误,不过还是值得记录下来:1.问题现象:我在Eclipse通过MyEclipse创建一个WebProject,使用Struts1.2.在Eclipse运行没有问题,于是就是用Eclipse的Export功能,导出为一个war文件,将该war文件解压后放到了Tomcat的webapps目录,启动tomcat.访问时在浏览器中就遇到了问题: javax.servlet.ServletException: Cannot find ActionMappi

tomcat-SERVLET出错javax.servlet.ServletException: Servlet

问题描述 SERVLET出错javax.servlet.ServletException: Servlet 解决方案 看看你的servlet是不是循环调用了,死循环了. 解决方案二: 栈溢出,myserver的doget方法循环调用导致内存耗尽.

求问怎么解决?javax.servlet.ServletException

问题描述 求问怎么解决?javax.servlet.ServletException javax.servlet.ServletException: Could not resolve view with name 'employeeLog/emWorkLogDisplay' in servlet with name 'employeeLogManagement' org.springframework.web.servlet.DispatcherServlet.render(Dispatche

500错误-HTTP Status500 javax.servlet.ServletException: java.lang.Error

问题描述 HTTP Status500 javax.servlet.ServletException: java.lang.Error type Exception report message javax.servlet.ServletException: java.lang.Error: 无法解析的编译问题: description The server encountered an internal error that prevented it from fulfilling this

javax.servlet.ServletException: Request[/usergetinfo] does not contain handler parameter named &amp;#39;para

错误介绍:1:找不到配置的(DispatchAction)方法参数,或者其他参数.  eg:parameter="method":                    2:过滤器中" chain.doFilter(request,response);"传递不了下一个过滤器中或者,进入请求中. 异常详细信息: 2015-01-16 17:18:02,424 ERROR org.apache.struts.actions.DispatchAction Request[

javax.servlet.ServletException: Original response not availabl异常:javax.servlet.ServletException: Original response not available

问题描述 在weblogic下部署的应用,在未改动程序的情况下,突然就开始一直报javax.servlet.ServletException:Originalresponsenotavailable异常.<Feb18,20089:21:18AMCST><Error><HTTP><BEA-101018><[ServletContext(id=32787110,name=bbs,context-path=/bbs)]ServletfailedwithSer

jsp web html-HTTP Status 500 - javax.servlet.ServletException

问题描述 HTTP Status 500 - javax.servlet.ServletException type Exception report message javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/lucene/search/Query description The server encountered an internal error that prevented it

抛出的异常:javax.servlet.ServletException: Report Tag:GenerateAndShow:错误!

问题描述 今天安装websphere6.0和普元EOS5.3系统上的增删改查和工作流都是好的,但使用的普元报表开发的界面菜单点击页面上会报500错误.后天报如下错误.[2/27/1511:28:07:610CST]0000003eSystemOutO2015-02-2711:28:07:610[REPORTSERVER]ReportServerstarting...[2/27/1511:28:07:612CST]0000003eServletWrappeESRVE0068E:未捕获到servle

生成war的jdk版本高于tomcat使用的jdk版本,导致项目不能正常被访问

记录一个耽误30分钟的一个坑: 生成war的jdk版本高于tomcat使用的jdk版本,导致项目不能正常被访问 报404错误