Tomcat中Server.xml 
<Context path="/IAIP" docBase="D:\JAVA software\apache-tomcat-6.0.18\apache-tomcat-6.0.18\webapps\IAIP" reloadable="true">
        <Resource name="jdbc/iaipDS" auth="Container" type="javax.sql.DataSource"
          driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@127.0.0.1:1521:SNOW"
          username="iaip" password="iaip" maxActive="20" maxIdle="10" maxWait="10000"/>
</Context>
Spring  applicationContext.xml 
    <bean id="IAIPDS"
        class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName">
            <value>java:comp/env/jdbc/iaipDS</value>
        </property>
    </bean>
代码 
datasource = (DataSource) initialcontext.lookup("java:comp/env/jdbc/iaipDS");大家帮我看一下,是不是哪里配置的有什么问题啊,Tomcat启动时报错。

解决方案 »

  1.   

    Spring  applicationContext.xml 
        <bean id="IAIPDS" 
            class="org.springframework.jndi.JndiObjectFactoryBean"> 
            <property name="jndiName"> 
                <value>/jdbc/iaipDS </value> 
            </property>
            <property name="resourceRef" value="true" />
         </bean>
    如果使用spring2.0的话可以使用简化配置,如下:
    <beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:jee="http://www.springframework.org/schema/jee"
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
         http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/jee 
           http://www.springframework.org/schema/jee/spring-jee-2.0.xsd"
    >
    然后在配置文件中添加
    <jee:jndi-lookup id="dataSource"
        jndi-name="/jdbc/iaipDS"
        resource-ref="true" />
    以上两种配置中,如果你的应用运行在webApplicationServer中,那么resource-ref属性必须设为true