Java 请看一下我的代码,并告诉我为什么它会抛出此异常;名称[jdbc/test]未在此上下文中绑定。找不到[jdbc]”;

Java 请看一下我的代码,并告诉我为什么它会抛出此异常;名称[jdbc/test]未在此上下文中绑定。找不到[jdbc]”;,java,mysql,spring,jndi,tomcat9,Java,Mysql,Spring,Jndi,Tomcat9,------------APPLICATION\u CONTEXT.xml-------------- 我读了很多文章,但没有找到任何解决办法 <jee:jndi-lookup jndi-name="jdbc/test" id="dataSource" expected-type="javax.sql.DataSource"/> <bean class="org.springfram

------------APPLICATION\u CONTEXT.xml-------------- 我读了很多文章,但没有找到任何解决办法

<jee:jndi-lookup jndi-name="jdbc/test" id="dataSource" expected-type="javax.sql.DataSource"/>

    <bean
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"
        name="factory">
        <property name="dataSource" ref="dataSource"></property>
        <property name="annotatedClasses">
            <list>
                <value>com.spring.rest.curd.model.Payment</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.hbm2ddl.auto">update</prop>
            </props>
        </property>
    </bean>
    <bean
        class="org.springframework.orm.hibernate4.HibernateTransactionManager"
        name="transactionManager">
        <property name="sessionFactory" ref="factory"></property>
    </bean>

com.spring.rest.curd.model.Payment
org.hibernate.dialogue.mysqldialogue
真的
更新
------------CONTEXT.xml-----------


------------SERVER.xml---------


资源的jndi名称具有隐式前缀:
java:comp/env/

因此,如果
context.xml
中的资源名称是
jdbc/test
,那么
jndi查找的
jndi名称(在
APPLICATION\u context.xml
中)必须是
java:comp/env/jdbc/test

<jee:jndi-lookup
     jndi-name="java:comp/env/jdbc/test"
     id="dataSource"
     expected-type="javax.sql.DataSource"/>


its显示“创建名为“dataSource”的bean时出错:调用init方法失败;嵌套异常为javax.naming.NameNotFoundException:name[jdbc/test]未绑定在此上下文中。找不到[jdbc]”@anoopKumar:将
标记从
server.xml
移动到
context.xml
并删除
标记。--还要确保数据库驱动程序jar在tomcat lib目录中,那么我应该在server.xml中使用什么标记?只需将其从
server.xml
中删除,它仍然会引发相同的异常
 <Resource name="jdbc/test"
              global="jdbc/test"
              auth="Container"
              type="javax.sql.DataSource"
              driverClassName="com.mysql.jdbc.Driver"
              url="jdbc:mysql://localhost:3306/test"
              username="root"
              password="root"
              maxActive="100"
              maxIdle="20"
              minIdle="5"
              maxWait="10000"/>
<jee:jndi-lookup
     jndi-name="java:comp/env/jdbc/test"
     id="dataSource"
     expected-type="javax.sql.DataSource"/>