java struts常见错误以及原因分析
对于 Struts 常见错误的与解决策略分析小结
在使用 Struts 框架开发 Web 应用时,可能会遇到各种错误。针对这些常见错误,我们可以进行以下分析与解决策略小结,以便快速定位并解决问题。
一、异常 javax.servlet.jsp.JspException: Cannot retrieve mapping for action /Login
可能原因:该异常表明在 struts-config.xml 中未定义 /Login action 或者找不到匹配的 action。
处理:请检查 struts-config.xml 中的定义部分,确保 /Login action 已正确配置。可以使用 Struts Console 工具来检查配置是否正确。
二、异常 .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 bean 中的 name 属性精确匹配,包括大小写。检查是否在 action 中指定了 name 属性。
三、异常 No action instance for path / could be created
可能原因:这个错误可能由多种情况导致,包括在 struts-config.xml 中指定的 action 类无法找到、类路径问题、拼写错误等。
处理:建议调高 web 服务器的日志/调试级别,以便查看更多潜在错误。检查 struts-config.xml 中 action 标签的 class 属性指定的 action 类是否正确,并确保该类继承自 Struts 提供的 Action 类。检查 classpath 是否正确设置,资源文件是否位于 WEB-INF/classes 目录下。
四、异常 javax.servlet.jsp.JspException: No getter method for property username of bean apache.struts.taglib.html.BEAN
可能原因:在表单提交的 FormBean 中,没有为某个变量定义 getter 方法。
处理:确保在 FormBean 中为 username 属性定义 getUsername() 方法。注意字母拼写和大小写。
五、异常 javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection
可能原因:在 web.xml 中未声明标识 Struts actionServlet 的标记或映射 .do 扩展名的标记,或者两者都未声明。struts-config.xml 中的打字或拼写错误也可能导致这个异常。
处理:确保在 web.xml 中声明了 actionServlet 标记和映射 .do 扩展名的标记。检查 struts-config.xml 是否有打字或拼写错误,并使用 Struts Console 工具进行检查。确保 load-on-startup 在 web.xml 中声明,指定 servlet 运行的优先级。
通过以上分析和处理策略,希望能帮助大家快速解决在使用 Struts 框架开发 Web 应用时遇到的常见问题。关于在使用Struts框架时遇到的一个异常问题
在使用Struts框架进行Web开发时,有时可能会遇到一个异常,具体表现为:javax.servlet.jsp.JspException: 无法在任何范围内找到bean “.apache.struts.taglib.html.BEAN”。这个异常可能与使用load-on-startup有关,也可能是在预编译JSP文件时出现的问题。
这个异常的可能原因有几个:
1. 在Struts的form标记外部使用form的子元素。在Struts开发中,如果你在不恰当的位置使用了form的子元素,比如在form标记外部使用,就可能导致这个异常。这种情况经常发生在后续使用Struts的html标记时。
2. 使用无主体的标记。在JSP页面中,如果不经意使用了无主体的标记,如`
3. 在使用taglib引入HTML标记库时,如果设置的prefix的值不是“html”。在JSP页面中,使用taglib指令引入HTML标记库时,需要设置正确的prefix值。如果prefix的值不是“html”,那么在页面中使用Struts的html标记时,就可能引发上述异常。
针对这个问题,你可以检查你的JSP页面和Struts配置,确保正确使用form标记和html标记,避免在无主体的标记外部使用这些标记。检查taglib的使用情况,确保prefix的值设置为“html”。这样可以帮助你解决遇到的异常问题。
最后提醒一下,如果你使用的是某个特定的库或框架(如cambrian),并且调用了`render('body')`这样的方法,也需要确保该方法的使用方式和相关配置是正确的。不正确的使用或配置也可能导致类似的异常。
编程语言
- java struts常见错误以及原因分析
- 富文本编辑器vue2-editor实现全屏功能
- 浅谈移动端之js touch事件 手势滑动事件
- 检查mysql是否成功启动的方法(bat+bash)
- Yii 框架入口脚本示例分析
- Vue中v-show添加表达式的问题(判断是否显示)
- MySQL Slave 触发 oom-killer解决方法
- 揭秘SQL Server 2014有哪些新特性(3)-可更新列存储聚
- JS简单实现动画弹出层效果
- JavaScript常用数组算法小结
- asp.net mvc 实现文件上传带进度条的思路与方法
- Laravel 中创建 Zip 压缩文件并提供下载的实现方法
- javascript实现3D切换焦点图
- MySQL问答系列之如何避免ibdata1文件大小暴涨
- Laravel框架在本地虚拟机快速安装的方法详解
- 分享bootstrap学习笔记心得(组件及其属性)