..看这个异常的解释,好你是action的路径有问题,不是很明白,<bean name="goodsForm" class ="com.lin.struts.action.GoodsAction" scope="prototype">
   <property name="service">
<ref bean="showService" />
</property>
</bean><html:form action="/goods" method="post">  <action-mappings >
    <action
      attribute="goodsForm"
      input="/goods.jsp"
      name="goodsForm"
      parameter="method"
      path="/goods"
      scope="request"
      type="org.springframework.web.struts.DelegatingActionProxy">
      <forward name="index" path="/index.jsp" />
    </action>  </action-mappings>
  
请帮忙看下....问题到底出在哪个细节上。严重: Servlet.service() for servlet action threw exception
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named '/goods' is defined
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:360)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedBeanDefinition(AbstractBeanFactory.java:914)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:241)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:737)
at org.springframework.web.struts.DelegatingActionProxy.getDelegateAction(DelegatingActionProxy.java:127)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:109)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
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:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Unknown Source)
  

解决方案 »

  1.   

    是你Action的问题,那个path=goods.do,你试下
      

  2.   

     很久没 看spring的了,貌似  <action-mappings > 
        <action 
          attribute="goodsForm" 
          input="/goods.jsp" 
          name="goodsForm" 
          parameter="method" 
          path="/goods" 
          scope="request" 
     这里 你用了 parameter=“method” 是试试在 <html:form action='/goods?method=action类里的方法名'>试试! 要是不行 你仔细检查 spring的配置文件,application.xml !
      

  3.   

    <bean name="goods" 
    spring中配置的bean的name要跟action中的path一致
      

  4.   

    ...谢谢各位,问题已解决,
    <bean name="goods"
    spring中配置的bean的name要跟action中的path一致  是我大意了。
      

  5.   

    strurts 配置中的path="/goods"要和spring配置中的name一致 
      

  6.   

    struts 和 spring 集成的时候, struts 配置文件中的action的配置的name属性一定要和spring配置文件中的bean的name一致.
    struts的action的配置错误跳转页面, 页面封装对象formbean, formbean的作用域, type. 当type="org.springframework.web.struts.DelegatingActionProxy"
    的时候, 就表示业务逻辑转交给spring处理,<bean name="/login"
              class="car.action.bag.LoginAction">
              <property name="user" ref="userbiz" />
    </bean>当spring把业务逻辑处理完之后, 也就是要执行返回结果的时候, 又转交给struts处理.
      

  7.   

    没有涉足过struct项目,同时对SSH架构不太了解,但觉得如果问题只能按楼主方案解决的话,觉得这种整合方案有点简陋:
    org.springframework.web.struts.DelegatingActionProxy,首先Delegating是分发的意思,也就是说起“请求集散”的作用,那就不该只为一个具体交易服务,而是为带有共性的业务层的交易类服务;Action是表示Struct的交易类;Proxy应该代表是Spring容器的代理类,或则说是维护Spring容器。虽然从“org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named '/goods' is defined ”中能看到:Spring容器直接按'/goods' 查找容器中的类,只不过这个不是单例的,且不在容器实例化是初始化。但觉得这应该是楼主配置的问题。如果有org.springframework.web.struts.DelegatingActionProxy的源码就好了,看一下:DelegatingActionProxy的转发策略。
      

  8.   

    org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named '/goods' is defined 
    好好看看