Struts 1.x常见错误的全面汇总

Struts1.x框架实现多文件上传教程 本文还有配套的精品资源,点击获取 简介:本教程讲解了如何在Java Web开发中使用Struts1.x框架上传多个文件。介绍了在HTML表单中使用 <input type="file"> 元素配置多文件上传,以及如何在Struts1.x的配置文件中声明处理文件上传的Action。接着详细说明了在Action类中使用Apache Commons Fi... 阅读详情

转自:http://www.iteye.com/topic/270015

      1、“No bean found under attribute key XXX”

  在struts-config.xml里定义了一个ActionForm,但type属性指定的类不存在,type属性的值应该是Form类的全名。或者是,在Action的定义中,name或attribute属性指定的ActionForm不存在。

  2、“Cannot find bean XXX in any scope”

  在Action里一般会request.setAttribute()一些对象,然后在转向的jsp文件里(用tag或request.getAttribute()方法)得到这些对象并显示出来。这个异常是说jsp要得到一个对象,但前面的Action里并没有将对象设置到request(也可以是session、servletContext)里。

  可能是名字错了,请检查jsp里的tag的一般是name属性,或getAttribute()方法的参数值;或者是Action逻辑有问题没有执行setAttribute()方法就先转向了。

  还有另外一个可能,纯粹是jsp文件的问题,例如会指定一个id值,然后在循环里使用这个值作为name的值,如果这两个值不同,也会出现此异常。(都是一个道理,request里没有对应的对象。)

  3、“Missing message for key "XXX"”

  缺少所需的资源,检查ApplicationResources.properties文件里是否有jsp文件里需要的资源,例如:

  这行代码会找msg.name.prompt资源,如果AppliationResources.properties里没有这个资源就会出现本异常。在使用多时,要注意在模块的struts-config-xxx.xml里指定要使用的资源文件名称,否则当然什么资源也找不到,这也是一个很容易犯的错误。

  4、“No getter method for property XXX of bean teacher”

  这条异常信息说得很明白,jsp里要取一个bean的属性出来,但这个bean并没有这个属性。你应该检查jsp中某个标签的property属性的值。例如下面代码中的cade应该改为code才对:

  5、“Cannot find ActionMappings or ActionFormBeans collection”

  待解决。解决方案放在了最下面,比较长~~

  6、“Cannot retrieve mapping for action XXX”

  在.jsp的标签里指定action='/XXX',但这个Action并未在struts-config.xml里设置过。

  7、HTTP Status 404 - /xxx/xxx.jsp

  Forward的path属性指向的jsp页面不存在,请检查路径和模块,对于同一模块中的Action转向,path中不应包含模块名;模块间转向,记住使用contextRelative="true"。

  8、没有任何异常信息,显示空白页面

  可能是Action里使用的forward与struts-config.xml里定义的forward名称不匹配。

  9、“The element type "XXX" must be terminated by the matching end-tag "XXX".”

  这个是struts-config.xml文件的格式错误,仔细检查它是否是良构的xml文件,关于xml文件的格式这里就不赘述了。

  10、“Servlet.init() for servlet action threw exception”

  一般出现这种异常在后面会显示一个关于ActionServlet的异常堆栈信息,其中指出了异常具体出现在代码的哪一行。我曾经遇到的一次提示如下:

  java.lang.NullPointerException

  at org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:1003)

  at org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:955)

  为解决问题,先下载struts的源码包,然后在ActionServlet.java的第1003行插入断点,并对各变量进行监视。很丢人,我竟然把struts-config.xml文件弄丢了,因此出现了上面的异常,应该是和CVS同步时不小心删除的。

  11、“Resources not defined for Validator”

  这个是利用Validator插件做验证时可能出现的异常,这时你要检查validation.xml文件,看里面使用的资源是否确实有定义,form的名称是否正确,等等。

--------------------------------------------------------------------------------------------

  *1*   
  对应\jakarta-struts-1.1\lib\中的*.jar文件(struts1.1共有10个*.jar文件),看看\StrutsWeb\WEB-INF\lib\中的*.jar文件是否完整。   
  如果在\StrutsWeb\WEB-INF\lib\中只有一个struts.jar,那么将其他的*.jar文件也copy到\StrutsWeb\WEB-INF\lib\中。   
  然后重新启动Apache   Tomcat即可访问。   
  struts.jar是一个重要的文件,它包含了struts中的所有Java类。   
    
  *2*   
  如果经过上面的一步还没有搞定,那么请耐心的检查或修改\StrutsWeb\WEB-INF\中的struts-config.xml配置文件。   
  看看struts配置情况是否写错,action-mappings的配置是否写错。   
  一定要注意区分字母的大小写。   
  请再检查一遍。   
  然后请再检查一遍。   
  不要烦躁,一定要像对待初恋情人一样对待它,不然会死的很难堪!   
  一定要好好检查。   
  这个MVC中的C很要命的,流程控制全靠它了,一定要小心呵护的。[:D]   
  还有,记得修改完毕后重新启动Apache   Tomcat。   
    
  *3*   
  我在网上看到有人对这个问题说“试了千百回,改了千百次,就是不知道什么原因”。   
  如果你也恰好和struts是初恋,也恰好试了千百回,改了千百次,   
  “Cannot   find   ActionMappings   or   ActionFormBeans   collection”的错误仍然涛声依旧,   
  那么,请不要灰心,   
  相信我,胜利的喜悦你马上就能体会到!   
  因为,这里有一个毕杀绝技!!!!!   
  请按照如下操作:   
  打开TOMAT_HOME\conf\server.xml文件,找到在上面提到过的加入WEB应用的那一行:   
      <Context   path="/mystruts"   docBase="TOMCAT_HOME\webapps\ROOT\StrutsWeb"   debug="0"   reloadable="true"/>  
  然后对其修改成为:   
      <Context   path="/mystruts"   docBase="TOMCAT_HOME\webapps\ROOT\StrutsWeb"   debug="0"   reloadable="true"   privileged="true"/>   
  这样就加上一个参数:privileged="true",这个参数是至关重要的。   
  (我花N多时间找了N多帖子问了N个人才搞定的,可见struts的初恋有多辛苦了!!   [:(])   
  然后重新启动Apache   Tomcat,这样访问JSP页面就没有问题了。[:D]   
      
  *4*   
  我在网上查找了一些struts应用的配置说明资料,一些配置资料上只提到把struts.jar这个文件copy到\WEB-INF\lib\中,   
  而并没有说需要把sturts的全部*.jar文件进行copy。   
  上面提到过,struts.jar包含了struts中的所有Java类。故我有此一试。   
  (当然,如果连struts.jar都没有了,那就没有搞头了。[:(]   )   
  我只把struts.jar文件copy到\StrutsWeb\WEB-INF\lib\中,然后启动Apache   Tomcat(当然,web.xml和struts-config.xml已经配置完毕)。   
  一试,果然不爽。   
    
  访问JSP页面时,看到提示错误:   
      “org.apache.jasper.JasperException:   Cannot   find   ActionMappings   or   ActionFormBeans   collection”   
  傻眼了。   
  又折腾了半天,发现上面提到的privileged="true"在这种情况下也可以发挥作用,   
  即修改server.xml文件,在<Context>的描述中加上参数privileged="true",使之变成这样:   
        <Context   path="/mystruts"   docBase="TOMCAT_HOME\webapps\ROOT\StrutsWeb"   debug="0"   reloadable="true"   privileged="true"/>   
  这样就可以访问JSP页面并且运行无误,没有错误提示了。[^ō^]   
  所以可以得出这样一个东东:   
        如果在\StrutsWeb\WEB-INF\lib\中只有一个struts.jar而没有其他的*.jar文件,那么,在server.xml文件中把相对的WEB应用的描述进行修改,在其中加入privileged="true"参数,就可以使struts项目的应用正常运行且访问无误。

  

Struts1.x登录功能实现示例 Struts1.x是一个基于MVC(Model-View-Controller)设计模式的开源Web应用框架,旨在简化企业级Java Web应用的开发。作为早期流行的框架之一,Struts1.x通过分离业务逻辑、用户界面和数据控制层,使得开发者能够更专注于业务逻辑的实现。在web.xml中定义Struts的ActionServlet,这是整个Struts框架的入口点。通过初始化参数,可以配置Struts的控制参数,如配置文件的路径。 阅读详情

相关推荐

Struts1.x框架中文API与开发文档详解

Struts 1.x是Apache软件基金会的一个开源项目,是目前最为流行的基于Java的MVC(Model-View-Controller)框架之一。它的主要目的是为了帮助开发者减少代码的编写量,提高开发效率。Struts 1.x在Web层面上实现了MVC设计模式,将业务逻辑、数据和页面显示分离,使得各个部分的职责清晰,便于维护。Struts 1.x的核心组件包括ActionServlet,Action,ActionForm和ActionForward。

weixin_35414484的博客 530

Websphere 6.1 中无法使用struts 1.1解决方案

在新的Websphere 6.1中配置struts 1.1后发觉请求.do文件时都是“找不到该页面”,log中也无任何信息, 经分析解决如下:打开was6.1控制台http://localhost:9060/ibm/console/ , 服务器-->应用程序服务器-->server1-->Web容器设置-->Web容器-->订制属性,添加两个属性: com.ibm.ws.webcont

superlw的专栏 1009

WorkBuddy入门到 多Agent团队协作完全指南(附实操代码与配图)

WorkBuddy的Agent Teams功能支持多智能体协作,通过创建AI团队提升复杂任务处理效率。该功能支持自然语言创建团队、任务分配与依赖管理、成员间消息通信(包括直接消息和广播),并提供任务审批机制。典型应用场景包括软件开发、内容创作等协作任务。环境要求WorkBuddy 2026年3月及以上版本,支持Windows和macOS系统。用户可快速创建包含不同角色的AI团队,通过共享任务列表和信箱系统实现协作。高级功能包括委派模式、任务依赖管理和成员自主认领等,适合各类协作场景。

三棱球的专栏 6434

struts开发文件配置都对,但依然报404!

struts全流程1.浏览器输入访问地址“http://localhost:8080/test/index.jsp”;2.配置服务器虚拟路径①打开tomcat安装路径下的service.xml(apache-tomcat-7.0.64\conf\service.xml);②倒数第四行(&lt;/Host&gt;前)添加下面的代码     &lt;Context path="/test" docBa...

老斯儿的博客 1270

衡山派Luban-Lite系统SDIO无线网络配置实战:以D133CBV-QFN88开发板与RTL8189模组为例

本文详细介绍了在衡山派D133CBV-QFN88开发板上,为Luban-Lite系统配置SDIO无线网络的完整实战流程。通过配置SDMC接口、RTL8189 Wi-Fi驱动、lwIP协议栈及内核参数,并解决编译分区问题,最终实现Wi-Fi网络连接与测试,为嵌入式设备联网提供清晰指导。

weixin_35677363的博客 266

OpenCV快速入门:绘制图形、图像金字塔和感兴趣区域

OpenCV是一个强大的计算机视觉库,广泛应用于图像处理、计算机视觉和机器学习等领域。本文将介绍OpenCV中的一些基础功能,包括如何绘制图形、创建图像金字塔以及如何处理感兴趣区域(ROI)。

吾家有猫名探花的博客 1962

Struts1 不能进入Action,页面空白解决

最近写了一个入门级的Struts1程序,

Alex Liao 1652

AI计算,为什么要用GPU?

几年后,2012年,神经网络之父杰弗里·辛顿(Geoffrey Hinton)的两个学生——亚历克斯·克里切夫斯基(Alex Krizhevsky)、伊利亚·苏茨克沃(Ilya Sutskever),利用“深度学习+GPU”的方案,提出了深度神经网络AlexNet,将识别成功率从74%提升到85%,一举赢得Image Net挑战赛的冠军。根据形态,GPU可分为独立GPU(dGPU,discrete/dedicated GPU)和集成GPU(iGPU,integrated GPU),也就是常说的独显、集显。

经营范围: CTA、SRRC、CCC、移动、电信、联通入库 1675

struts 找不到action 的可能原因

struts版本2.5.13,配置如下<?xmlversion="1.0"encoding="UTF-8"?> <!DOCTYPEstrutsPUBLIC "-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.5//EN" "http://struts....

weixin_34185512的博客 945

VMware虚拟机安装MS-DOS 7.10教程

dos安装教程dos版本7.10附下载链接。

Minecraft_xiaole的博客 1万+

S/4中的16种特殊库存类型

S/4中的16种特殊库存类型

yanzibing99的博客 1万+

Struts中action访问不到的原因。

因为需要在项目中构造restful的链接,action通配符使用/进行分割。但是struts默认不支持反斜杠。 所以需要在Struts.xml配置 <constant name="struts.enable.SlashesInActionNames" value="true"/> 即可使用反斜杠。 转载于:https://www.cnblogs.com/valarchi...

weixin_30551947的博客 743

/home 挂载点无法访问 怎么解决 指令可以进入Home目录 du: 无法访问“*“: 输入/输出错误

本文介绍了Linux系统中XFS文件系统损坏的故障排查与修复方法。当/home挂载点出现I/O错误时,通过dmesg发现XFS日志错误和磁盘I/O报错,判断可能是文件系统逻辑损坏或硬件故障。解决方案包括:1)尝试卸载分区;2)使用xfs_repair工具进行预检查和正式修复;3)在极端情况下使用-L参数强制清空日志;4)若存在硬件故障,建议优先进行数据抢救并更换硬盘。最后强调重要数据应先备份,再考虑系统重建。

专注于计算机研发知识和资讯分享 153

Struts 1.x项目——简单的登录界面

前言:这是一个最简单的Struts 1.x的项目。设计思路是在表单中输入用户名和密码,验证用户名和密码是否有内容(服务器端验证),如果输入正确显示欢迎信息,否则显示错误信息。 使用软件:MyEclipse2017, Tomcat 8.5 MyEclipse默认支持Struts 1.x和Struts 2.x的开发。 一、建立一个新的项目 1.选择新建Web Project,输入项目名称Struts_Login 2.在Struts 1.x还没有Annotation配置支持,所以此处使用Struts 1.x.

Yua_H的博客 1022

深度解读华为Limera:从舱内激光视觉融合看前融合技术的发展与演进

华为Limera激光雷达摄像头融合技术推动自动驾驶感知升级 华为推出的Limera创新性地将激光雷达与摄像头深度集成,采用共光路设计实现数据天然对齐,在小型障碍物识别等关键场景展现卓越性能。该产品代表了传感器前融合技术从分立走向共生的演进趋势,通过硬件级集成解决了多源异构数据融合难题。随着索尼堆叠式传感器等技术的出现,未来智能汽车感知系统将向高度集成的"超级传感器"方向发展,实现更精准的环境感知。Limera的发布标志着前融合技术从"可用"迈向"极致&quo

致力于lidar应用开发 395

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

我的第一个struts程序(Struts1.X实现MVC框架)

 我的第一个struts程序(Struts1.X实现MVC框架)我对struts的理解是从看了陈宝峰老师的视频到我的第一个struts程序的产生之后得来的,struts是基于MVC模式的一种框架,struct分为两种,struct1.x和struct2.x。下面是struts的框架图和struts的原理,本人觉得这个图能够很好的表明struts的原理。一:struts原理(stru

1234564654的专栏 1408

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Struts1.x HelloWord

<br />目录结构<br /><br /> <br /> <br /> <br />web.xml文件<br /><?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com

eebbk110的专栏 770

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Struts1.x_all_main

(Struts1.x版本的文本) Struts1.x的使用拓展 struts1.x的标签使用: 1.我们可以通过strut框架提供的 3,关于国际化中的报错机制: 要实现error错误处理,根据需要在,配置文件中配置或程序中编码控制: a)在国际化文件中配置:login.upass.error = The Length of password must ...

carolAnn的专栏 190

struts2和struts1.x的标签库

<br />struts2.0的标签库(简介)<br />用过struts1.x的人都知道,标签库有html、bean、logic、tiles,<br />而struts2.0里的标签却没有分类,只用在jsp头文件加上<br /><%@ taglib prefix="s" uri="/struts-tags" %><br />就能使用struts2.0的标签库<br />下面就介绍下每个标签的用法(有错请指正):<br />A:<br /><s:a href=""></s:a>-----超链接,类似于htm

JACK的专栏 2131

(二)Struts1.x校验器

一、什么是校验器(Validator)在Struts1.x中,校验器能校验客户端提交的数据是否符合要求。如果不符合要求,则会跳转到struts配置文件的“action”标签中“input”属性指定的页面;对于是否进行校验,可以通过“action”标签中的“validate”属性指定,默认为true,即开启校验功能。二、初识Struts1.x校验功能前面的《一个简单的Struts程序》已经说过Stru

lang_programmer的博客 406

struts1.x的标签使用

struts1.x的标签使用: 1.我们可以通过strut框架提供的

carolAnn的专栏 289

Struts1.x+JDBC项目——简单的登录界面

一、实验目的 通过Struts1.x架构创建登录界面,并利用JDBC连接MySQL数据库。 在Web界面输入用户名和密码时,若数据库中存有该用户名和密码,则登陆成功,否则登陆失败。 二、使用软件 MyEclipse2017、MySQL8、Navicat12 三、具体流程 1、下载JDBC驱动,并将其复制到你所建的Web Project项目的WebRoot——WEB-INF——lib文件夹下 2、创建Struts1.x项目的登录界面(详见我的另一篇博客 Struts1.x项目——简单的登录界面) 编写lo

Yua_H的博客 640

struts1.x中使用common-validator验证框架

在struts1.x中使用common-validator验证框架,可以分为以下步骤: 1.       导入jar包,struts1.3.8core包,commom-validator.jar。2.       新建验证文件:validator.xml,放在WEB-INF下3.       在struts-config.xml中引入插件:如下:注:如忘记,到validat

wangyu937的专栏 788

关于struts1.X中有时运行就报空指针错误

 关于struts1.X中有时运行就报空指针错误调试的方法,可以根据他提示的信息区找到第几行,然后在那里修改,如果那里改了之后还是会报错的话,则要看一下配置文件中的那些类路径是否设置对了,  抛空指针的意思是说明里面一定存在一个值为null的数

wlxtaking的专栏 916

struts1.2升级struts2.5.30问题汇总

struts1.2升级struts2.5.30问题汇总

qq3892997的博客 2443
上一篇: Struts1.X异常处理
下一篇: java中List和Map的去重
君子陌
博客等级 码龄17年 8粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值