【发布时间】:2020-11-29 02:04:47
【问题描述】:
我已经尝试了所有方法,但仍然无法正常工作。 所以我不得不在这里问这个问题,希望我能找到解决方案。 我正在编写一个非常简单的 JSP Web 应用程序,以在此处本地访问 MySQL 数据库。 我正在将生成的 WAR 文件部署到 Tomcat。 我正在使用 MySQL (8.0.21) 和 Tomcat (9.0.37) 的最新版本(截至 9.8.2020)。 我的 Maven pom.xml 有这个:
...
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
...
然后,我的 JSP 文件有这些,(密码未显示):
<%@ page import = "java.io.*,java.util.*,java.sql.*"%>
<%@ page import = "javax.servlet.http.*,javax.servlet.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix = "c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix = "sql"%>
<!DOCTYPE html>
<html lang="en">
<head>
...
<sql:setDataSource var="mystraDB" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mystra" user="root" password="###"/>
<sql:query var="result" dataSource="${mystraDB}">
SELECT id, isbn, title FROM mystra.books;
</sql:query>
...
正如我在很多解决方案中展示的那样,我还将 mysql-connector-java-8.0.21.jar 文件复制到 Tomcats lib 文件夹中。 我正在使用 Visual Studio Code,我正在使用它的 Tomcat for Java 扩展,我可以在其中启动和停止 Tomcat,然后我可以从那里调试 WAR 包并进行测试。 我遇到的问题是:
javax.servlet.ServletException: javax.servlet.jsp.JspException: 无法获得连接,DataSource 无效:“java.sql.SQLException: 没有为 ${mystraDB} 找到合适的驱动程序”
对于以下行:
org.apache.jasper.JasperException: An exception occurred processing [/fetchBooks.jsp] at line [30]
27: <sql:setDataSource var="mystraDB" driver="com.mysql.jdbc.Driver"
28: url="jdbc:mysql://localhost:3306/mystra" user="root" password="###"/>
29:
30: <sql:query var="result" dataSource="${mystraDB}">
31: SELECT id, isbn, title FROM mystra.books;
32: </sql:query>
33:
您对如何解决此问题还有其他想法吗? 此处未显示的所有内容都欢迎:)
【问题讨论】: