java - 没有找到适合 jdbc :sqlite:database. db 的驱动程序

标签 java sqlite servlets jdbc

我想将 SQLite 与我的 Java Servlet 服务器一起使用。所以我写了一个单例数据库 Controller ,我在我的 init 中初始化它。我的 servlet 中的函数。当我到达以下行时

Connection connection = DriverManager.getConnection(url);

我收到此异常:

java.sql.SQLException: No suitable driver found for jdbc:sqlite:database.db
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at Controller.Database.SQLiteDataBase.getInstance(SQLiteDataBase.java:22)
    at Controller.Servlets.login.loginController.init(loginController.java:45)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1174)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1090)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:770)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:417)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1376)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)

我测试了在 servlet 应用程序之外的新项目中建立连接,一切正常。

我正在使用 Eclipse Jee Oxygen 并使用“添加外部 JAR..”来添加 sqlite-jdbc-3.21.0.jar

我可以做什么来解决这个问题?我已经尝试过 .db 文件的绝对路径和相对路径。

最佳答案

您需要将 sqlite-jdbc-3.21.0.jar 添加到您的服务器类路径中,您可以将其放在 tomcat 服务器的 lib 文件夹中,也可以将此 jar 放在 tomcat 服务器的 WEB-INF/lib 文件夹中您的项目。

关于java - 没有找到适合 jdbc :sqlite:database. db 的驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48530122/

相关文章:

javascript - 如何在 doPost() 中的 servlet 内从 JavaScript 读取传入的 JSON?

java - 尝试在 Netbeans 中打印 html 表

java - Apache Karaf (4.2.6)外壳: Unable to install webconsole

java - spring boot application.properties 文件不会自动完成代码

objective-c - 使用sqlite的内存泄漏

android - 什么时候在非 Activity 类中调用 onCreate()?

java - 桌面客户端 Web 服务器通信

java - 删除root后如何访问部署在Tomcat Docker Container中的War File Build

java - 如何将方法签名从一个类复制到一个文件?

C# 在 SQLite 和 SQL Server 之间同步数据