严重: 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 'sqlMapClient' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is org.springframework.core.NestedIOException: Failed to parse config resource: ServletContext resource [/WEB-INF/config/iBatis-config/SqlMapConfig.xml]; nested exception is com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 3; The up in the document preceding the root element must be well-formed.
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:567)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:385)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:284)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4790)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5284)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1595)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1585)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: org.springframework.core.NestedIOException: Failed to parse config resource: ServletContext resource [/WEB-INF/config/iBatis-config/SqlMapConfig.xml]; nested exception is com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 3; The up in the document preceding the root element must be well-formed.
at org.springframework.orm.ibatis.SqlMapClientFactoryBean.buildSqlMapClient(SqlMapClientFactoryBean.java:341)
at org.springframework.orm.ibatis.SqlMapClientFactoryBean.afterPropertiesSet(SqlMapClientFactoryBean.java:291)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)
... 22 more
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 3; The up in the document preceding the root element must be well-formed.
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:62)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:106)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:95)
at org.springframework.orm.ibatis.SqlMapClientFactoryBean.buildSqlMapClient(SqlMapClientFactoryBean.java:338)
... 25 more
Caused by: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 3; The up in the document preceding the root element must be well-formed.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl$PrologDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at com.ibatis.common.xml.NodeletParser.createDocument(NodeletParser.java:189)
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:59)
... 28 more

解决方案 »

  1.   

    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"
    xmlns:lang="http://www.springframework.org/schema/lang"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
    http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-3.1.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd"> <!-- 本配置文件没有被引用,该文件已成拆分成WEB-INF/config/spring-config文件夹下的三个xml文件,
    分别是:只是spring-db.xml、spring-bean.xml和tx.xml 作为生成Hiberante映射文件时使用,除此以外暂无其他用处 --> <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:@192.168.37.129:1521:etcdb">
    </property>
    <property name="username" value="system"></property>
    <property name="password" value="123456"></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.Oracle9Dialect
    </prop>
    <prop key="hibernate.show_sql">
    true
    </prop>
    </props>
    </property>
    <property name="mappingResources">
    <list>
    <value>com/thinsheng/etc/bas/vo/WfPosition.hbm.xml</value>
    <value>com/thinsheng/etc/bas/vo/LonginLog.hbm.xml</value>
    <value>com/thinsheng/etc/bas/vo/WfStaff.hbm.xml</value>
    <value>com/thinsheng/etc/bas/vo/WfDevolve.hbm.xml</value>
    <value>com/thinsheng/etc/bas/vo/WfRole.hbm.xml</value>
    <value>com/thinsheng/etc/bas/vo/WfUnitBizType.hbm.xml</value>
    <value>com/thinsheng/etc/bas/vo/WfGroup.hbm.xml</value>
    <value>com/thinsheng/etc/bas/vo/WfGroupMember.hbm.xml</value>
    <value>com/thinsheng/etc/bas/vo/WfExplicitReportPath.hbm.xml</value>
    <value>com/thinsheng/etc/bas/vo/WfDuty.hbm.xml</value>
    <value>com/thinsheng/etc/bas/vo/WfUnit.hbm.xml</value>
    <value>com/thinsheng/etc/bas/vo/WfReportBizType.hbm.xml</value>
    </list>
    </property>
    </bean>

    <!-- 引用上述定义的数据源 --> 
    <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
    <property name="dataSource">
    <ref local="dataSource" />
    </property>
    <property name="configLocation">
    <value>/WEB-INF/config/iBatis-config/SqlMapConfig.xml</value>
    <!--  <value>classpath:SqlMapConfig.xml</value>-->
    </property>
    <property name="useTransactionAwareDataSource" >
        <value>true</value>
    </property>
    </bean>

    <!-- baseDAO 的配置 -->
    <bean id="basDAOImpl"  autowire="byType"  class="com.thinsheng.etc.bas.dao.impl.BasDAOImpl"></bean> <bean id="baseDao" class="com.thinsheng.etc.bas.dao.impl.BasDAOImpl">
    <property name="sqlMapClient">
    <ref local="sqlMapClient" />
    </property>
    </bean>
    <bean id="baseService" class="com.thinsheng.etc.bas.service.impl.BaseServiceImpl">
    <property name="basDAOImpl">
    <ref local="basDAOImpl" />
    </property>
    </bean>

    <!-- 事务处理的AOP配置 --> 
    <bean id="transactionManager" autowire="byType"  class="org.springframework.orm.hibernate3.HibernateTransactionManager" >
      <property name="sessionFactory"> <!-- 注入sessionFactory属性 -->
    <ref local="sessionFactory"/> 
    </property> 
    </bean > 

     <!-- 指定事务管理器 --> 
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
    <tx:attributes><!-- 指定业务策略 --> 
    <tx:method name="save*"   propagation="REQUIRED" />
    <tx:method name="add*"    propagation="REQUIRED" />
    <tx:method name="insert*" propagation="REQUIRED" />
    <tx:method name="update*" propagation="REQUIRED" />
    <tx:method name="delete*" propagation="REQUIRED" />
    <tx:method name="*" read-only="true"/>
    </tx:attributes>
    </tx:advice>

    <aop:config proxy-target-class="true">
    <aop:advisor advice-ref="txAdvice" pointcut="execution(* com.thinsheng.etc.bas.dao.*.*(..))"/>
    </aop:config>
    </beans>
      

  2.   

    SqlMapConfig.xml的配置如下:<?xml version="1.0" encoding="UTF-8"?>
    <! DOCTYPE sqlMapConfig  PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"  "http://www.ibatis.com/dtd/sql-map-config-2.dtd" > 
    <sqlMapConfig> <!-- 本配置文件被 WEB-INF/config/spring-config/spring-db.xml 文件引入 --> <!-- 设置缓存和延迟加载等等重要的运行时的行为方式  -->
    <settings>
            <setting name="cacheModelsEnabled" value="true" />
            <setting name="enhancementEnabled" value="true" />
            <setting name="lazyLoadingEnabled" value="true" />
            <setting name="errorTracingEnabled" value="true" />
            <setting name="maxRequests" value="32" />
            <setting name="maxSessions" value="10" />
            <setting name="maxTransactions" value="5"   />
            <setting name="useStatementNamespaces" value="false" /> 
         </settings> 
         <sqlMap resource="com/thinsheng/etc/bas/config/Wf_Staff_SqlMap.xml" />
    <!--      
              cacheModelsEnabled="true" 是否启用SqlMapClient上的缓存机制。  建议设为"true"   
              enhancementEnabled="true" 是否针对POJO启用字节码增强机制以提升  getter/setter的调用效能,避免使用Java Reflect所带来的性能开销。  同时,这也为Lazy Loading带来了极大的性能提升。  建议设为"true"   
      lazyLoadingEnabled="true" 是否启用延迟加载机制,建议设为"true"   
      errorTracingEnabled="true"是否启用错误日志,在开发期间建议设为"true" 以方便调试   
              maxRequests="32"          最大并发请求数(Statement并发数)   
              maxSessions="10"          最大Session数。即当前最大允许的并发 SqlMapClient 数。   
              maxSessions设定必须介于  maxTransactions和maxRequests之间,即  maxTransactions<maxSessionsmaxSessions=<maxRequests   
              maxTransactions="5"   最大并发事务数   
              useStatementNamespaces="false" 是否使用Statement命名空间。 这里的命名空间指的是映射文件中, sqlMap节点 的namespace属性,如在上例中针对t_user 表的映射文件sqlMap节点:   
            <sqlMap namespace="User">这里,指定了此sqlMap节点下定义的操作均从 属于"User"命名空间。 在useStatementNamespaces="true"的情  
            况下,Statement调用需追加命名空间,如:  sqlMap.update("User.updateUser",user);  否则直接通过Statement名称调用即可,如:   
            sqlMap.update("updateUser",user); 但请注意此时需要保证所有映射文件中, Statement定义无重名。  />   参照:http://chrislee.iteye.com/blog/299674  
          
        --> 

    </sqlMapConfig>
    sqlMap的配置如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE sqlMap  PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"  "http://www.ibatis.com/dtd/sql-map-2.dtd">
    <sqlMap namespace="WfStaff">
        <typeAlias alias="WfStaff" type="com.thinsheng.etc.bas.vo.WfStaff"/>    
        <resultMap id="WfStaffResult" class="com.thinsheng.etc.bas.vo.WfStaff">
            <result property="Staff_Id" column="Staff_Id"/>
            <result property="ACCOUNT" column="ACCOUNT" />
            <result property="Password" column="Password"/>
            <result property="Staff_Name" column="Staff_Name"/>
            <result property="Owner_Unit_Id" column="Owner_Unit_Id"/>
            <result property="Unit_Id" column="Unit_Id"/>
            <result property="Kind" column="Kind"/>
            <result property="Admin_Level" column="Admin_Level"/>
            <result property="Status" column="Status"/>
            <result property="CERTIFICATE_TYPE" column="CERTIFICATE_TYPE"/>
            <result property="CERTIFICATE_CODE" column="CERTIFICATE_CODE"/>
            <result property="Birthday" column="Birthday"/>
            <result property="Sex" column="Sex"/>
            <result property="Tel" column="Tel"/>
            <result property="Email" column="Email"/>
            <result property="Address" column="Address"/>
            <result property="Creator_Id" column="Creator_Id"/>
            <result property="Created_Time" column="Created_Time"/>
            <result property="Last_Modifier_Id" column="Last_Modifier_Id"/>
            <result property="Last_Modified_Time" column="Last_Modified_Time"/>
            <result property="IP" column="IP"/>
            <result property="Client_MAC" column="Client_MAC"/>
            <result property="Montinor_Flag" column="Montinor_Flag"/>
            <result property="Del_Flag" column="Del_Flag"/>
            <result property="Black_List" column="Black_List"/>
        </resultMap>
        
    <insert id="WfStaff.insert" > 
    <![CDATA[ 
             insert into Wf_Staff(Staff_Id,ACCOUNT,Password,Staff_Name,Owner_Unit_Id,Unit_Id,Kind,Admin_Level,Status,CERTIFICATE_TYPE,CERTIFICATE_CODE,Birthday,Sex,Tel,Email,Address,Creator_Id,Created_Time,Last_Modifier_Id,Last_Modified_Time,IP,Client_MAC,Montinor_Flag,Del_Flag,Black_List) 
             values(#Staff_Id#,#ACCOUNT#,#Password#,#Staff_Name#,#Owner_Unit_Id#,#Unit_Id#,#Kind#,#Admin_Level#,#Status#,#CERTIFICATE_TYPE#,#CERTIFICATE_CODE#,#Birthday#,#Sex#,#Tel#,#Email#,#Address#,#Creator_Id#,#Created_Time#,#Last_Modifier_Id#,#Last_Modified_Time#,#IP#,#Client_MAC#,#Montinor_Flag#,#Del_Flag#,#Black_List#) 
           ]]> 
    </insert>  

    <delete id="WfStaff.deleteByPrimaryKey"> 
    <![CDATA[ 
            delete from Wf_Staff where Staff_Id = #value# 
           ]]> 
    </delete> 
      
    <update id="WfStaff.update"> 
    <![CDATA[ 
              update Wf_Staff 
              set 
              Staff_Name=#username#,Password=#password#,Email=#email# 
              where Staff_Id=#userid# 
           ]]> 
    </update>  
        
        <select id="getAllParentNodetionary" resultMap="WfStaffResult">
            select * from Wf_Staff where Unit_Id is null
        </select>
        
        <select id="getDictionaryByDicID" parameterClass="int" resultMap="WfStaffResult">
            select * from Wf_Staff where Staff_Id = #value#
        </select>
        
        <select id="getDictionaryByParentNode" parameterClass="int" resultMap="WfStaffResult">
            select * from Wf_Staff where ACCOUNT = #value#
        </select>
        
    </sqlMap>
      

  3.   

    log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
    六月 30, 2012 12:06:00 上午 org.apache.catalina.core.StandardContext listenerStart
    严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
    org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 109 in XML document from ServletContext resource [/WEB-INF/applicationContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 109; columnNumber: 98; cvc-complex-type.2.4.a: Invalid content was found starting with element 'aop:advisor'. One of '{"http://www.springframework.org/schema/aop":include}' is expected.
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:131)
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:522)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:436)
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:385)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:284)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4790)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5284)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1595)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1585)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)
    Caused by: org.xml.sax.SAXParseException; lineNumber: 109; columnNumber: 98; cvc-complex-type.2.4.a: Invalid content was found starting with element 'aop:advisor'. One of '{"http://www.springframework.org/schema/aop":include}' is expected.
    at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
    at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
    at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    at org.apache.xerces.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(Unknown Source)
    at org.apache.xerces.impl.xs.XMLSchemaValidator.reportSchemaError(Unknown Source)
    at org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source)
    at org.apache.xerces.impl.xs.XMLSchemaValidator.emptyElement(Unknown Source)
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
    at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
    at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:75)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:388)
    ... 23 more
    六月 30, 2012 12:06:00 上午 org.apache.catalina.core.StandardContext startInternal
    严重: Error listenerStart
    六月 30, 2012 12:06:00 上午 org.apache.catalina.core.StandardContext startInternal
    严重: Context [/etc] startup failed due to previous errors
    六月 30, 2012 12:06:00 上午 org.apache.catalina.core.ApplicationContext log
    信息: Closing Spring root WebApplicationContext
    六月 30, 2012 12:06:00 上午 org.apache.catalina.core.StandardContext listenerStop
    严重: Exception sending context destroyed event to listener instance of class org.springframework.web.context.ContextLoaderListener
    java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
    at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:172)
    at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1066)
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1040)
    at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:988)
    at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:556)
    at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:142)
    at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4830)
    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5477)
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1595)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1585)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
      

  4.   

    Hibernate3.6(轻量级)、iBatis2(重量级)分别为jdbc封装的框架,从没见过同时去用2个jdbc框架的      要么是SSH框架组合       要么是SSI组合~      
      

  5.   

    struts2.3.4+Spring 3.1.1+Hibernate3.6+iBatis2组合 ??
    要么:struts2.3.4+Spring 3.1.1+Hibernate3.6
    要么:struts2.3.4+Spring 3.1.1+iBatis2
    hibernate 和 iBatis 重复了吧? 使用一个就够了,有必要使用两个吗? 楼主新创的?
      

  6.   

    增、删、改用Hibernate比较高效,查询用iBatis比较灵活!
      

  7.   

    没见过这样的框架为什么hibernate 和 iBatis能一起用呢 不乱么??
      

  8.   

    Failed to parse config resource: ServletContext resource [/WEB-INF/config/iBatis-config/SqlMapConfig.xml]; nested exception is com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 3; The up in the document preceding the root element must be well-formed.错误说的很明白了,你的xml文件节点不对