在进行ssh整合时,启动tomcat后会出现报错,依据网上的介绍,删除了多余的包也做了相应的配置修改,可是错误并没有解决,具体报错如下:
2010-01-27 09:52:36,281 ERROR [org.springframework.web.struts.ContextLoaderPlugIn] - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Initialization of bean failed; nested exception is javax.naming.NameNotFoundException: Name evn is not bound in this Context
javax.naming.NameNotFoundException: Name evn is not bound in this Context

解决方案 »

  1.   

    用JNDI获取数据源的时候,在应用服务器要配置相应的数据源
      

  2.   

    Name evn is not bound in this Context
    javax.naming.NameNotFoundException: Name evn is not bound in this ContextJDNI綁定的問題,LZ看下applicationContext.xml文件的數據源配置,最好把配置發上來看下!
      

  3.   

    applicationContext.xml中配置数据源,目的是将spring与hibernate进行整合,建立关联关系
      

  4.   

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
    <bean id="dataSource"
    class="org.springframework.jndi.JndiObjectFactoryBean" destroy-method="close">
    <property name="jndiName">
    <value>java:comp/evn/jdbc/mine</value>
    </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>
    <prop key="hibernate.connection.autocommit">true</prop>
    <prop key="hibernate.show_sql">false</prop>
    </props>
    </property>
    <property name="mappingResources">
    <list>
    <value>org/lxh/myznt/vo/User.hbm.xml</value></list>
    </property>
    </bean>
    <bean id="hibernateTemplate"
         class="org.springframework.orm.hibernate3.HibernateTemplate">
         <property name="sessionFactory">
         <ref bean="sessionFactory"/>
         </property>
     </bean>
     <bean id="iuserdao" class="org.lxh.myznt.dao.IUserDAO" abstract="true">
     </bean>
     <bean id="iuserdaoimpl" class="org.lxh.myznt.dao.impl.IUserDAOImpl" parent="iuserdao">
     <property name="hibernateTemplate">
        <ref bean="hibernateTemplate"/>
        </property>
     </bean>
     </beans>这个有什么问题吗?
      

  5.   


    这个数据源的配置不是在tomcat的server.xml中写的吗?
    我是这样写的:<Context path="/zhinangtuan" docBase="D:\workshop\MyWeb\MyZhiNangTuanDemo\WebRoot"
    debug="5" reloadable="true" crossContext="true">
     
     <Logger className="org.apache.catalina.logger.FileLogger"
     prefix="localhost_MysqlTest_log." suffix=".txt"
     timestamp="true"/>
     
    <Resource name="jdbc/mine"  auth="Container" type="javax.sql.DataSource"/>

    <ResourceParams name="jdbc/mine">
    <parameter>
    <name>factory</name>
    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
    </parameter>
    <parameter>
    <name>maxActive</name>
    <value>100</value>
    </parameter>
    <parameter>
    <name>maxIdle</name>
    <value>30</value>
    </parameter>
    <parameter>
    <name>maxWait</name>
    <value>5000</value>
    </parameter>
    <parameter>
    <name>username</name>
    <value>root</value>
    </parameter>
    <parameter>
    <name>password</name>
    <value></value>
    </parameter>
    <parameter>
    <name>driverClassName</name>
    <value>org.gjt.mm.mysql.Driver</value>
    </parameter>
    <parameter>
    <name>url</name>
    <value>jdbc:mysql://localhost:3306/mine</value>
    </parameter>
      </ResourceParams>
    </Context>
      

  6.   


    我的applicationContext.xml是这样的:
    <?xml version="1.0" encoding="UTF-8"?> 
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> 
    <beans> 
    <bean id="dataSource" 
    class="org.springframework.jndi.JndiObjectFactoryBean" destroy-method="close"> 
    <property name="jndiName"> 
    <value>java:comp/evn/jdbc/mine </value> 
    </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> 
    <prop key="hibernate.connection.autocommit">true </prop> 
    <prop key="hibernate.show_sql">false </prop> 
    </props> 
    </property> 
    <property name="mappingResources"> 
    <list> 
    <value>org/lxh/myznt/vo/User.hbm.xml </value> </list> 
    </property> 
    </bean> 
    <bean id="hibernateTemplate" 
        class="org.springframework.orm.hibernate3.HibernateTemplate"> 
        <property name="sessionFactory"> 
        <ref bean="sessionFactory"/> 
        </property> 
    </bean> 
    <bean id="iuserdao" class="org.lxh.myznt.dao.IUserDAO" abstract="true"> 
    </bean> 
    <bean id="iuserdaoimpl" class="org.lxh.myznt.dao.impl.IUserDAOImpl" parent="iuserdao"> 
    <property name="hibernateTemplate"> 
        <ref bean="hibernateTemplate"/> 
        </property> 
    </bean> 
    </beans> 
      

  7.   

    <property name="jndiName"> 
    <value>java:comp/evn/jdbc/mine </value> 
    </property> 
    改为:
    <property name="jndiName"> 
    <value>jdbc/mine </value> 
    </property> 
      

  8.   


    不行,<value>java:comp/evn/jdbc/mine </value> 写是肯定对的!
      

  9.   

    evn?  应该是 env 吧  java:comp/env....
      

  10.   

    这应该是少包了 导入commons-dbcp.jar