在数据源上尝试获取连接时出现异常:无法创建的jdbc驱动程序
连接url“null”上下文的类“”
web.xml
</context-param>
<resource-ref>
<res-ref-name>jdbc/shop_MYSQL</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
Pom
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
<version>8.0.20</version>
</dependency>
code:
Context ctx = new InitialContext();
ds = (DataSource) ctx.lookup("java:comp/env/jdbc/shop_MYSQL");
Connection conn = ds.getConnection();
1条答案
按热度按时间mbyulnm01#
您需要将mysql连接器jar添加到tomcat中,因为它不是现成的。从这里下载(适用于mysql的相应版本)
https://dev.mysql.com/downloads/connector/j
解压下载的zip并将mysql-connector-java-x.x..jar复制到tomcat lib文件夹(而不是web-inf/lib)
如果还没有,请在tomcat conf/context.xml中将数据源定义为资源
java代码应该按原样工作。但是,您没有使用您定义的资源引用。您是否需要这样做是有争议的-这是为了保持部署者/开发人员角色的分离,请参见此处-但是假设您需要这样做,您需要一个额外的行来创建java:/comp/env上下文并对其进行查找: