Maven WAR JSP 项目 + MySQL + Tomcat:无法获取连接,数据源无效:"java.sql.SQLException:找不到合适的驱动程序



我已经尝试了所有的方法,但我无法让它继续工作。因此,我不得不在这里提出这个问题,希望我能找到解决办法。我正在编写一个非常简单的JSP Web应用程序,以便在本地访问MySQL数据库。我正在将生成的WAR文件部署到Tomcat。我使用的是MySQL(8.0.21(和Tomcat(9.0.37(的最新版本(截至2020年9月9日(。我的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代码,使用的是Tomcat for Java的扩展,在那里我可以启动和停止Tomcat,我可以调试WAR包,然后从那里进行测试。我遇到的问题是:

javax.servlet.ServletException:javax.servlets.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: 

你对我如何解决这个问题还有什么想法吗?这里没有显示的所有内容,欢迎:(

对于其他有问题的人,我发现了我的项目有什么问题。我无法用$解析EL表达式。因此,我将这一行添加到我拥有的每一个jsp中:

<%@ page isELIgnored="false" %>

我还更新了web.xml,如下所示:

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">

相关内容