诡异的异常SEVERE: Error creating form bean of class

       近来习惯用Eclipse手工创建Struts工程,以加深对Struts框架的认识。没想到上来就给我来个诡异的异常:

       SEVERE: Error creating form bean of class test0001.struts1.form.InputForm
       java.lang.NullPointerException
       at org.apache.struts.config.FormBeanConfig.createActionForm(FormBeanConfig.java:212)
       at org.apache.struts.util.RequestUtils.createActionForm(RequestUtils.java:292)
       at org.apache.struts.util.RequestUtils.createActionForm(RequestUtils.java:191)
       ...

[文件目录结构]


        Action类和Form类正常编译通过,struts-config.xml、web.xml检查一番,也没发现什么写错的地方。
实在没辙,只好祭出“百度”神器。遭遇同样异常的童鞋果然不少,但原因似乎与我的不同。

■原因之一:Form类没有继承ActionForm类。
参照:http://fengshujuan.iteye.com/blog/440982

 

■原因之二:formbean的最后多打了个空格
例:<form-bean name= "xxxForm " type= "com.xxx.xxx.form.XXXForm " />

 

■原因之三:Project下拉菜单里边没有把"Build Automatically"勾上,导致class类文件未自动生成。

 

       汗啊,程序猿真是项苦逼的工作啊,稍微错一点都不行,一失足成千古恨。好吧,重新对照这些原因进行批评和自我批评,
深挖自己程序出错的思想根源。但是,不知是喜还是忧,这些错误都没有出现在我的程序里。

       重新看异常信息,里边提示有“java.lang.NullPointerException”,也就是没有得到Form类的实例咯,
这使我比较倾向于Form类没有生成好,但是检查Test0001/WebContent/classes目录确实有生成好的Form类class文件。
我再打开一个以前可以正常运行的struts项目,一对比目录结构就明白了,问题就出在classes的生成路径,因为是
手工创建的struts工程,一不小心把该目录设错了,正确的路径应该是Test0001/WebContent/WEB-INF/classes。
struts框架是很死板的,他要找class文件都是在WEB-INF/classes目录下找,找不到就报错。把路径改改,程序果然
可以正常跑了。

 

[正确的classes文件夹路径设定]

 

       希望此文章能帮到遭遇同样异常的朋友。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值