Java 请看一下我的代码,并告诉我为什么它会抛出此异常;名称[jdbc/test]未在此上下文中绑定。找不到[jdbc]”;
------------APPLICATION\u CONTEXT.xml-------------- 我读了很多文章,但没有找到任何解决办法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
<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"/>