问题描述
EL_DataSource/conf/context.xml配置<?xmlversion="1.0"encoding="UTF-8"?><Context><Resourcename="jdbc/EL_DataSource"author="Container"type="javax.sql.DataSource"maxActive="100"maxIdle="30"maxWait="10000"username="root"password="123"driverClassName="com.mysql.jdbc.Driver"url="jdbc:mysql://localhost:3306/mldn"/><WatchedResource>WEB-INF/web.xml</WatchedResource></Context>/conf/web.xml的配置的<description>MySqlTestApp</description><resource-ref><description>DBConnection</description><res-ref-name>jdbc/EL_DataSource</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref>EL_DataSource是web应用名称(工程名称EL_DataSource)http://localhost:8080/EL_DataSource/datasource.jsp测试是:datasource.jsp包都引了。<body><%Stringdsname="java.comp/env/jdbc/EL_DataSource";Contextctx=newInitialContext();DataSourceds=(DataSource)ctx.lookup(dsname);Connectionconn=ds.getConnection();%><%=conn%><%conn.close();%></body>
解决方案
解决方案二:
tomcat的work目录下找datasource_jsp.java文件看看,关于JNDI的配置参考一下tomcat的标准文档,应该是在tomcat目录下(不是工程目录下)的context.xml文件要进行配置
解决方案三:
applicationContext.xml下配置<beanid="dataSource"class="org.springframework.jndi.JndiObjectFactoryBean"><propertyname="jndiName"value="java:comp/env/mydataSource"/></bean>