论坛登陆 用户名:  密 码:
设为首页  加入收藏
08年北京名校秋季招生
名牌院校免试入学宽进严出,突破考分限制,名校与你零距离,以下院校按报名先后顺序录取,24小时网上报名覆盖全国
  您现在的位置: 中国教育招生在线 >> IT >> JAVA认证 >> IT正文
【开发经验】Struts常见错误及原因分析
 作者:佚名     2007-3-14 17:34:12        来源:不详  浏览次数:

 

 

 

 

 

 

 

 

1 异常 javax.servlet.jsp.JspException: Cannot retrieve mapping for action /Login (/Login是你的action名字) 
可能原因:action没有再struts-config.xml 中定义,或没有找到匹配的action,例如在JSP文件中使用 处理:如果出现上述异常,请查看struts-config.xml中的定义部分,有时可能是打错了字符或者是某些不符合规则,可以使用struts console工具来检查。 

2 异常 org.apache.jasper.JasperException: Cannot retrieve definition for form bean null 
 
可能原因:  这个异常是因为Struts根据struts-config.xml中的mapping没有找到action期望的form bean。大部分的情况可能是因为在form-bean中设置的name属性和action中设置的name属性不匹配所致。换句话说,action和form都应该各自有一个name属性,并且要精确匹配,包括大小写。这个错误当没有name属性和action关联时也会发生,如果没有在action中指定name属性,那么就没有name属性和action相关联。当然当action制作某些控制时,譬如根据参数值跳转到相应的jsp页面,而不是处理表单数据,这是就不用name属性,这也是action的使用方法之一。

3 异常 No action instance for path /xxxx could be created 
 
可能原因 
 特别提示:因为有很多中情况会导致这个错误的发生,所以推荐大家调高你的web服务器的日志/调试级别,这样可以从更多的信息中看到潜在的、在试图创建action类时发生的错误,这个action类你已经在struts-config.xml中设置了关联(即添加了标签)。 
 
在struts-config.xml中通过action标签的class属性指定的action类不能被找到有很多种原因,例如: 

定位编译后的.class文件失败。Failure to place compiled .class file for the action in the classpath (在web开发中,class的的位置在r WEB-INF/classes,所以你的action class必须要在这个目录下。例如你的action类位于WEB-INF/classes/action/Login.class,那么在struts-config.xml中设置action的属性type时就是action.Login). 
拼写错误,这个也时有发生,并且不易找到,特别注意第一个字母的大小写和包的名称。 
 
在struts-config.xml中指定的action类没有继承自Stuts的Action类,或者你自定义的Action类没有继承自Struts提供的Action类。 

你的action类必须继承自Struts提供的Action类。 
 
你的classpath的问题。例如web server没有发现你的资源文件,资源文件必须在WEB-INF/classes/目录下。 
 
4 异常 javax.servlet.jsp.JspException: No getter method for property username of bean org.apache.struts.taglib.html.BEAN 
 
可能原因 
 没有位form bean中的某个变量定义getter 方法 
 
这个错误主要发生在表单提交的FormBean中,用struts标记时,在FormBean中必须有一个getUsername()方法。注意字母“U”。 
5 Exception  javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection 
 
可能原因 
 不是标识Struts actionServlet的标记就是映射.do扩展名的标记或者两者都没有在web.xml中声明。 
 
在struts-config.xml中的打字或者拼写错误也可导致这个异常的发生。例如缺少一个标记的关闭符号/>。最好使用struts console工具检查一下。 
 
另外,load-on-startup必须在web.xml中声明,这要么是一个空标记,要么指定一个数值,这个数值用来表servlet运行的优先级,数值越大优先级越低。 
 
还有一个和使用load-on-startup有关的是使用Struts预编译JSP文件时也可能导致这个异常。 

6 Exception 
 javax.servlet.jsp.JspException: Cannot find bean org.apache.struts.taglib.html.BEAN in any scope 
 Probable Causes 
 试图在Struts的form标记外使用form的子元素。这常常发生在你在后面使用Struts的html标记。

另外要注意可能你不经意使用的无主体的标记,如,这样web 服务器解析时就当作一个无主体的标记,随后使用的所有标记都被认为是在这个标记之外的,如又使用了

还有就是在使用taglib引入HTML标记库时,你使用的prefix的值不是html。


责任编辑:lss
  相关新闻
JSFToolbox--用Dreamweaver开发JSF
Spring开发基础之Spring事务管理
使用AppFuse框架进行开发的总结
Struts开发指南之Taglib的初步了解
名师谈如何复习并通过软考开发类考试
精华:AJAX开发简略 (第二部分)
Vista新技术:WCF开发指南之客户端开发
嵌入式系统关键技术分析与开发应用
使用Struts和Velocity开发web应用
开发保留标准浏览器功能的AJAX应用程序
名师谈如何复习并通过软考开发类考试
嵌入式系统关键技术分析与开发应用
两种Oracle应用程序开发接口的对比分析
Struts开发指南之Taglib的初步了解
Spring开发基础之Spring事务管理
使用AppFuse框架进行开发的总结
开发保留标准浏览器功能的AJAX应用程序
精华:AJAX开发简略(第一部分)
精华:AJAX开发简略 (第二部分)
XMLHttpRequest在Web开发利弊
  评论
现在有100人对本文发表评论
查看所有评论
 
推  荐
 
100本成功必读热销书
热门招生
  北京文理研修学院   前进大学
  北京明园大学   北京建设大学
  北京邮电大学世纪学院   北方工商管理学院
  联想软件定向委培班   香港数码动画学院
  青年企业管理研修学院   北京华夏管理学院
热门培训
网络化办公专家培训认证 电子科技大学软件学院
软件测试工程师培训认证 北大青鸟十大授权培训
IT硬件工程师培训认证班 北京环球雅思荷兰预科
JAVA开发工程师培训 潜能时代IT服务管理培训
网络信息化工程师培训 清华大学继续教育学院
论坛精选
 
有些细节是男人也该注意的风度!最容易读错的字
某强人手机里保存的30条短信 中国十大高薪职业
最感人的十大韩剧经典台词 嫁给工程师的N个理由
爆强!只有一句话的鬼故事 转贴教你如何做妖精
 女人一定要記住的話 女人最好别嫁给最爱的男人
城市联盟
 大连 上海 天津 广州 西安 深圳  天津  青岛  大连  福州  沈阳  青海  连云港  南京  吉林  厦门  威海  辽宁  呼和浩特
Copyright © 2006   www.edu999.com   All rights reserved. 中国教育招生在线  版权所有
北京市通信管理局[2004]字第552号函    京ICP证040442号