【问题标题】:Maven WAR JSP Project + MySQL + Tomcat: Unable to get connection, DataSource invalid: "java.sql.SQLException: No suitable driver found forMaven WAR JSP 项目 + MySQL + Tomcat:无法获得连接,数据源无效:“java.sql.SQLException:找不到合适的驱动程序
【发布时间】: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: 

您对如何解决此问题还有其他想法吗? 此处未显示的所有内容都欢迎:)

【问题讨论】:

    标签: mysql maven jsp tomcat


    【解决方案1】:

    对于其他有问题的人,我发现我的项目有什么问题。 我无法用 $ 解析 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">
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-19
      • 2023-03-18
      • 2017-07-27
      • 1970-01-01
      • 1970-01-01
      • 2017-10-17
      • 2012-07-07
      • 2016-08-25
      相关资源
      最近更新 更多