spring的action代理集成struts 多个action是时候出错

bm4413 2008-10-27 05:08:02
错误提示:

严重: Servlet.service() for servlet action threw exception
org.springframework.beans.factory.BeanCreationException: Error creating bean with name '/display' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.InvalidPropertyException: Invalid property 'teacherInfoService' of bean class [com.teacherInfo.struts.action.DisplayAction]: No property 'teacherInfoService' found
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:478)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:283)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:168)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:885)
at org.springframework.web.struts.DelegatingRequestProcessor.getDelegateAction(DelegatingRequestProcessor.java:176)
at org.springframework.web.struts.DelegatingRequestProcessor.processActionCreate(DelegatingRequestProcessor.java:154)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:221)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: org.springframework.beans.InvalidPropertyException: Invalid property 'teacherInfoService' of bean class [com.teacherInfo.struts.action.DisplayAction]: No property 'teacherInfoService' found
at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:382)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1287)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1248)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1008)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:470)
... 26 more

struts-config.xml内容:

<form-beans>
<form-bean name="teacherInfoForm"
type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="MAJORWORK" type="java.lang.String" />
<form-property name="RESEARCHPROJECT"
type="java.lang.String" />
<form-property name="office" type="java.lang.String" />
<form-property name="position" type="java.lang.String" />
<form-property name="RESEARCHINTERESTS"
type="java.lang.String" />
<form-property name="research" type="java.lang.String" />
<form-property name="introduction" type="java.lang.String" />
<form-property name="name" type="java.lang.String" />
</form-bean>
<form-bean name="displayForm"
type="com.teacherInfo.struts.form.DisplayForm" />
</form-beans>

<global-exceptions />
<global-forwards>
<forward name="display" path="/form/display.jsp" />
</global-forwards>

<action-mappings>
<action attribute="teacherInfoForm"
input="/form/addTeacherInfo.jsp" name="teacherInfoForm"
parameter="method" path="/teacherInfo" scope="request"
/>
<action attribute="displayForm" input="/form/display.jsp"
name="displayForm" parameter="method" path="/display" scope="request"
/>
</action-mappings>
<controller
processorClass="org.springframework.web.struts.DelegatingRequestProcessor">
</controller>

applicationContext.xml内容:

<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="mappingResources">
<list>
<value>teacherInfoPojo/TeacherInfo.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.Oracle9Dialect
</prop>

</props>
</property>
</bean>
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="oracle.jdbc.driver.OracleDriver">
</property>
<property name="url"
value="jdbc:oracle:thin:@localhost:1521:myoracle">
</property>
<property name="username" value="scott"></property>
<property name="password" value="tiger"></property>
</bean>

<bean id="teacherInfoDao" class="teacherInfoDao.teacherInfoDao"
abstract="false" lazy-init="default" autowire="default"
dependency-check="default">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="teacherInfoService"
class="teacherInfoService.teacherInfoService" abstract="false"
lazy-init="default" autowire="default" dependency-check="default">
<property name="teacherInfoDao">
<ref local="teacherInfoDao" />
</property>
</bean>
<bean name="/teacherInfo"
class="com.teacherInfo.struts.action.TeacherInfoAction"
abstract="false" lazy-init="default" autowire="default"
dependency-check="default" scope="prototype">
<property name="teacherInfoService">
<ref local="teacherInfoService" />
</property>
</bean>

<bean name="/display"
class="com.teacherInfo.struts.action.DisplayAction" abstract="false"
scope="prototype" lazy-init="default" autowire="default"
dependency-check="default">
<property name="teacherInfoService">
<ref local="teacherInfoService" />
</property>
</bean></beans>


说明: DisplayAction是后加上去的,开始只有TeacherInfoAction的时候功能实现没有问题 然后我再struts-config.xml加上DisplayAction,在applicationContext.xml中加上bean<bean name="/display"..../bean> 其他的地方没有改动 出现上述错误 高手给看看 急~
...全文
211 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bm4413 2008-10-28
  • 打赏
  • 举报
回复
有teacherInfoService属性的 setter方法
因为开始只用一个action的时候可以执行 没有任何问题~
xuhua205 2008-10-28
  • 打赏
  • 举报
回复
没有为teacherInfoService属性写setter方法或者根本就没有这个属性!检查下
sebatinsky 2008-10-28
  • 打赏
  • 举报
回复
楼上说得是,首先你要清晰你的struts和spring配置,就是数据和处理的配置问题,第一,我想你这里的配置都是相对独立(当然,其实都是融合在一起的,只是换种说法)的,所以,struts配置的是转向加上一些功能问题,spring是用来连接数据的,所以这里你要清晰,struts配置转向,spring配置数据连接.所以,这里明显是数据配置有问题, Servlet.service() for servlet action threw exception
org.springframework.beans.factory.BeanCreationException: Error creating bean with name '/display' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.InvalidPropertyException: Invalid property 'teacherInfoService' of bean class [com.teacherInfo.struts.action.DisplayAction]: No property 'teacherInfoService' found

你所需要的东西,可以分开配一下,用import 或者是include等等,这样将文件分开,你也可以看得清楚,
其次,找问题,可以看问题提示,

因为它至少是指向了一些问题的地方,当然不一定就是这里的问题,但是大部分是八九不离十了.


这里,还有就是,前后台所需要的东西就如楼上说的,需要get和set ,这个就看你需要了,取得或者是设置,多看看就清晰了,
秦Eric 2008-10-28
  • 打赏
  • 举报
回复
Invalid property 'teacherInfoService' of bean class [com.teacherInfo.struts.action.DisplayAction]: No property 'teacherInfoService' found
这个action里面用了'teacherInfoService'这个服务类
<property name="teacherInfoService">
<ref local="teacherInfoService" />
'teacherInfoService'这个对象在action中是否存在并具有相应的setter方法
'teacherInfoService'这个在配置文件中是否存在
bm4413 2008-10-27
  • 打赏
  • 举报
回复
补充:struts1.3+spring2.5+hibernate3.2

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧