第三种:
用struts-config.xml的
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" />
</plug-in>报错为:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V 
    Caused by: 
    java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V 
     at net.sf.cglib.core.ClassEmitter.begin_class(ClassEmitter.java:77) 
     at net.sf.cglib.core.KeyFactory$Generator.generateClass(KeyFactory.java:173) 
     at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25) 
     at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:216) 
     at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:145) 
     at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:117) 
     at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108) 
     at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104) 
     at net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:69) 
     at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:117) 
     at org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:43) 
     at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:162) 
     at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:135) 
     at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55) 
     at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.<init>(EntityEntityModeToTuplizerMapping.java:56) 
     at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:295) 
     at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:434) 
     at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:109) 
     at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55) 
     at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226) 
     at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294) 
     at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:805) 
     at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:745) 
     at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:134) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1202) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:428) 
     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251) 
     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) 
     at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:284) 
     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352) 
     at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:244) 
     at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:187) 
     at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49) 
     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3669) 
     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4104) 
     at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1069) 
     at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1162) 
     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293) 
     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
     at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1304) 
     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1568) 
     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1577) 
     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1557) 
     at java.lang.Thread.run(Thread.java:595) 
请大家帮帮我看看,谢谢

解决方案 »

  1.   


    spring2.0 和 struts 1.1兼容性不太好
    建议楼主 用spring1.2 + struts1.1 + hibernate3.0
    例外:配置dataSource  是属性之间不能有回车符
    数据源类要 该成org.springframework.jdbc.datasource.DriverManagerDataSource
    sessionFactory 中的<prop key="hibernate.dialect"> 后也不要错现回车
      

  2.   

    把你的applicationContext.xml文件贴出来看看
      

  3.   

    <?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.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"></property>
    <property name="url" value="jdbc:microsoft:sqlserver://localhost:1433;databasename=employee"></property>
    <property name="username" value="sa"></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.SQLServerDialect</prop>
    </props>
    </property>
    <property name="mappingResources">
    <list>
    <value>com/qzq/po/Users.hbm.xml</value></list>
    </property>
    </bean>
    <bean id="UsersDAO" class="com.qzq.dao.UsersDAO">
    <property name="sessionFactory">
    <ref bean="sessionFactory" />
    </property>
    </bean>

    <bean id="DAOService" class="com.qzq.service.DAOService">
    <property name="userdao">
    <ref bean="UsersDAO"/>
    </property>
    </bean>

    <bean id="UserBusiness" class="com.qzq.business.UserBusiness">
    <property name="daoservice">
    <ref bean="DAOService"/>
    </property>
    </bean>

    <bean id="BusinessService" class="com.qzq.service.BusinessService">
    <property name="userbusiness">
    <ref bean="UserBusiness"/>
    </property>
    </bean>

    <bean name="/addUser" class="com.qzq.struts.action.AddUserAction">
    <property name="businessService">
    <ref bean="BusinessService"/>
    </property>
    </bean>
    </beans>