在进行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
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
javax.naming.NameNotFoundException: Name evn is not bound in this ContextJDNI綁定的問題,LZ看下applicationContext.xml文件的數據源配置,最好把配置發上來看下!
<!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>这个有什么问题吗?
这个数据源的配置不是在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>
我的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>
<value>java:comp/evn/jdbc/mine </value>
</property>
改为:
<property name="jndiName">
<value>jdbc/mine </value>
</property>
不行,<value>java:comp/evn/jdbc/mine </value> 写是肯定对的!