applicationContext-actions.xml:<bean name="/login" class="fanfull.order.actions.LoginAction" scope="prototype">  
    <property name="userManager" ref="userManager"/>  
    </bean>   
    </beans>
applicationContext-beans.xml
   
    <bean id="userManager" class="fanfull.order.manager.impl.UserManagerImpl">  
        <property name="userDao" ref="userDao" />  
    </bean> 
    
    <bean id="userDao" class="fanfull.order.dao.UserDao">  
        <property name="sessionFactory" ref="sessionFactory" />  
    </bean> 
applicationContext-common.xml     
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
        <property name="sessionFactory">  
            <ref bean="sessionFactory"/>  
        </property>  
    </bean>  
       
    <tx:advice id="txAdvice" transaction-manager="transactionManager">  
        <tx:attributes>  
        <tx:method name="add*" propagation="REQUIRED"/>  
            <tx:method name="del*" propagation="REQUIRED"/>  
            <tx:method name="modify*" propagation="REQUIRED"/>  
            <tx:method name="register" propagation="REQUIRED"/>  
            <tx:method name="*" read-only="true"/>  
        </tx:attributes>  
    </tx:advice>  
       
    <aop:config>  
        <aop:pointcut id="allManagerMethod" expression="execution(* fanfull.order.manager.*.*.*(..))"/>  
        <aop:advisor advice-ref="txAdvice" pointcut-ref="allManagerMethod"/>  
    </aop:config>  
</beans>  启动tomcat 严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userManager' defined in file [E:\java\apache-tomcat-6.0.28\apache-tomcat-6.0.28\webapps\FanFullOrder\WEB-INF\classes\applicationContext-beans.xml]: Cannot resolve reference to bean 'userDao' while setting bean property 'userDao'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDao' defined in file [E:\java\apache-tomcat-6.0.28\apache-tomcat-6.0.28\webapps\FanFullOrder\WEB-INF\classes\applicationContext-beans.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [fanfull.order.dao.UserDao]: Specified class is an interface
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1308)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1067)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:511)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:562)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:871)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:423)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
at org.apache.catalina.core.StandardService.start(StandardService.java:519)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDao' defined in file [E:\java\apache-tomcat-6.0.28\apache-tomcat-6.0.28\webapps\FanFullOrder\WEB-INF\classes\applicationContext-beans.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [fanfull.order.dao.UserDao]: Specified class is an interface
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:946)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:892)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:479)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
... 39 more
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [fanfull.order.dao.UserDao]: Specified class is an interface
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:54)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:939)
... 47 more
2011-6-24 10:38:08 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
2011-6-24 10:38:08 org.apache.catalina.core.StandardContext start
严重: Context [/FanFullOrder] startup failed due to previous errors
2011-6-24 10:38:08 org.apache.catalina.core.ApplicationContext log
信息: Closing Spring root WebApplicationContext
2011-6-24 10:38:08 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
严重: The web application [/FanFullOrder] registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
什么原因?

解决方案 »

  1.   

    UserManagerImpl 里面有 userDao的getter  setter 方法没?
      

  2.   

      <bean id="userDao" class="fanfull.order.dao.UserDao">  实现类?还是接口。 
      

  3.   

    SSH在做整合的时候,会有1-3个包是重复的。麻烦楼主去包里找下。然后把重复的删掉在说吧。
      

  4.   

    楼主fanfull.order.dao.UserDao这个应该是接口,
    这个才应该是实现类fanfull.order.manager.impl.UserManagerImpl。
    在你下面bean中配置就可以看出了,楼主你将UserDao和UserManagerImpl的代码贴出来看看。
     <bean id="userManager" class="fanfull.order.manager.impl.UserManagerImpl">   
      <property name="userDao" ref="userDao" />   
      </bean>  
        
      <bean id="userDao" class="fanfull.order.dao.UserDao">   
      <property name="sessionFactory" ref="sessionFactory" />   
      </bean>  
      

  5.   

    <struts-config>  
        <form-beans>  
            <form-bean name="loginForm" type="fanfull.order.forms.LoginForm" />  
        </form-beans>  
        <action-mappings>  
           <action name="loginForm"  path="login"
              type="fanfull.order.actions.LoginAction" scope="request" >
                <forward name="success" path="/main.jsp" />  
                <forward name="error" path="/error.jsp"/>  
            </action>    
        </action-mappings>  
    </struts-config> 我登录的时候    地址变成这了:  http://localhost:8080/login.do
    明显少了工程名! 为什么?
      

  6.   


    这个可以从tomcat做URL映射或者写FILTER做URL映射,工程名就可以不显示。不知道楼上是怎么出来的。
      

  7.   


    你的action路径写绝对路径,就是工程名+namespace的名字+action的名字,这样比较保险,个人爱好!
      

  8.   

    刚刚没说清楚,是你的form里面的action="" 引号里面的写
    工程名+namespace的名字+action的名字
      

  9.   

    public boolean isValidUser(String id, String name) {
    Employee employee=(Employee)this.getHibernateTemplate().get(Employee.class, id);
            return true;
    }getHibernateTemplate()的时候报空指针错误。什么原因呢?
      

  10.   


    public boolean SelectUserById(String id) {
      System.out.println(getHibernateTemplate());
    Employee employee=(Employee)this.getHibernateTemplate().get(Employee.class, id);
      return true;}配置文件 applicationContext-common.xml   <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="configLocation"
    value="classpath:hibernate-cfg.xml">
    </property>
    </bean>
    <bean id="hibernateTemplate"
      class="org.springframework.orm.hibernate3.HibernateTemplate">
      <property name="sessionFactory" ref="sessionFactory"/>
      </bean><bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">   
      <property name="sessionFactory">   
      <ref bean="sessionFactory"/>   
      </property>   
      </bean>   
        
      <tx:advice id="txAdvice" transaction-manager="transactionManager">   
      <tx:attributes>   
      <tx:method name="add*" propagation="REQUIRED"/>   
      <tx:method name="del*" propagation="REQUIRED"/>   
      <tx:method name="modify*" propagation="REQUIRED"/>   
      <tx:method name="register" propagation="REQUIRED"/>   
      <tx:method name="*" read-only="true"/>   
      </tx:attributes>   
      </tx:advice>   
        
      <aop:config>   
      <aop:pointcut id="allManagerMethod" expression="execution(* fanfull.order.manager.*.*.*(..))"/>   
      <aop:advisor advice-ref="txAdvice" pointcut-ref="allManagerMethod"/>   
      </aop:config>   
    </beans>   applicationContext-beans.xml
        
      <bean id="userManager" class="fanfull.order.manager.impl.UserManagerImpl">   
      <property name="userDao" ref="userDao" />   
      </bean>   
        
      <bean id="userDao" class="fanfull.order.dao.impl.UserDaoImpl">   
      <property name="sessionFactory" ref="sessionFactory" />   
      </bean>   
    applicationContext-actions.xml:<bean name="/login" class="fanfull.order.actions.LoginAction" scope="prototype">   
      <property name="userManager" ref="userManager"/>   
      </bean>   
      </beans>
      

  11.   

    是你把userManager注入和引用放到两个配置文件的原因吧。。
      

  12.   


    一个actions的配置文件。
    一个beans配置文件
    一个事务的配置文件
      

  13.   

    Could not instantiate bean class [fanfull.order.dao.UserDao]: Specified class is an interface