SSH架构易出现的问题之Error creating bean with name '*' defined in file [*.xml]

 

我们在SSH架构中写代码最容易出先的问题之一便是:

org.apache.jasper.JasperException: Error creating bean with name 'indexall' defined in file [E:/eclipse/Tomcat 5.5/webapps/fc/WEB-INF/beans.xml ]: Error setting property values;

nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'newsdao' of bean class [org.fc.classes.indexall]:

Bean property 'newsdao' is not writable or has an invalid setter method: Does the parameter type of the setter match the return type of the getter?

这是一个很头痛的问题,基本解决方法有以下两种:

1,如上面提示在定义的ACTION方法里没写GET,SET方法或者是方法写的不规范

解决方法:

按如下编写看看能否解决.

 
 
Beasn.xml文件部分   //此文件是SPRING的配置文件
 
// 注册 indexall 这个 ACTION
< bean id = "indexall" class = "org.fc.classes.indexall" >
       < property name = " newsdao " >    //newsdao 为此 ACTION 调用的 DAO 文件
           < ref local = " newsdao " />
       </ property >
</ bean >
// 注册 newsdao
< bean id = " newsdao " class = "org.fc.dao.base.Newsdao" >   
       < property name = "sessionFactory" >
           < ref local = "sessionFactory" />
       </ property >
</ bean >
 
// 最后必须在 userDAOProxy 中注册
< bean id = "userDAOProxy"
    *********************************************
       < property name = "target" >
           < list >
              < ref local = "registerdao" />
              < ref local = " newsdao " />
           </ list >
       </ property >
    *********************************************
</ bean >
 
Indexall 这个 ACTION 文件部分必须定义 newsdao GET SET 方法如下
 
private Newsdao newsdao ;
    public Newsdao getnewsdao(){
       return newsdao;
    }
    public void setnewsdao(Newsdao newsdao){
       this.newsdao=newsdao;
    }
 
请大家注意下划线的变量,相同颜色的名字必须一致,不可有大小写错误!

 

 

2. TOMCAT版本的问题.本人一次用TOMCAT5.0编写,出现了上面的问题,结果是怎么都解决不了,后来换成了TOMCAT5.5.就一点问题都没有了,所以第一种办法解决不了的请用此法看看,换个TOMCAT版本也许能解决问题,不过只对用5.0编写出问题有效哦.

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值