我的applicationContext.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver">
</property>
<property name="url" value="jdbc:mysql://localhost:3306/test"></property>
<property name="username" value="root"></property>
<property name="password" value="28327304"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>vo/User.hbm.xml</value></list>
</property></bean>
<bean id="UserDAO" class="dao.UserDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean name="/login" class="com.pp.struts.action.LoginAction">
<property name="service">
<ref bean="service" />
</property>
</bean>
<bean id="service" class="com.pp.struts.action.Service" >
<property name="userDao">
<ref bean="UserDAO" />
</property>
</bean>
</beans>

解决方案 »

  1.   

    struts-config.xml的配置如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config>
      <data-sources />
      <form-beans >
        <form-bean name="loginForm" type="com.pp.struts.form.LoginForm" />  </form-beans>  <global-exceptions />
      <global-forwards >
          </global-forwards>  <action-mappings >
        <action
          attribute="loginForm"
          input="/login.jsp"
          name="loginForm"
          path="/login"
          scope="request"
          type="org.springframework.web.struts.DelegatingActionProxy">
          <forward name="succeed" path="/welcome.jsp" />
          <forward name="fail" path="/login.jsp" />
        </action>

      </action-mappings>
      <message-resources parameter="com.pp.struts.ApplicationResources" />
       <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
          <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" />
        </plug-in>
    </struts-config>
      

  2.   

    还有User.hbm.xml的配置如下:
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <!-- 
        Mapping file autogenerated by MyEclipse Persistence Tools
    -->
    <hibernate-mapping>
        <class name="vo.User" table="user" catalog="test">
            <id name="id" type="java.lang.Integer">
                <column name="id" />
                <generator class="native" />
            </id>
            <property name="username" type="java.lang.String">
                <column name="username" length="30" not-null="true" />
            </property>
            <property name="password" type="java.lang.String">
                <column name="password" length="30" />
            </property>
        </class>
    </hibernate-mapping>
      

  3.   

    <bean id="UserDAO" class="dao.UserDAO" > 
    <property name="sessionFactory" > 
    <ref bean="sessionFactory" / > 
    </property > 
    </bean > 
    =================
    给sessionfactory换个名字
      

  4.   

    我把
    <bean id="sessionFactory" 
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" > 
    <property name="dataSource" > 
    <ref bean="dataSource" / > 
    </property > 
    <property name="hibernateProperties" > 
    <props > 
    <prop key="hibernate.dialect" > 
    org.hibernate.dialect.MySQLDialect 
    </prop > 
    </props > 
    </property > 
    <property name="mappingResources" > 
    <list > 
    <value >vo/User.hbm.xml </value > </list > 
    </property > </bean > 
    的id换成了id="session"
    然后
    <bean id="UserDAO" class="dao.UserDAO"  >  
    <property name="sessionFactory"  >  
    <ref bean="sessionFactory" /  >  
    </property  >  
    </bean  >  
    换<ref bean="sessionFactory" /  >  =><ref bean="session" /  >
    一样的错误,只是报错换了一个对象而已(sessionFactory变成了session).
    有人说那是因为数字签名的问题。SequencedHashMap的数字签名和同一个包下面其他类的数字签名不符。
    从 Invocation of init method failed; nested exception is java.lang.SecurityException: class "org.apache.commons.collections.SequencedHashMap" 's signer information does not match signer information of other classes in the same package 
    看得出来.但我不知道应该如何解决.
      

  5.   

    看看你的DAO是怎么写的,继承的是哪个类,应该是HibernateDaoSupport.可能是通过Hibernate生成的时候不是选择SpringDAO造成的!