首先写此文章前我在用java连接Sqlite数据库在控制台测试是可以成功的,但是在部署到tomcat服务器后一直显示连接失败,尝试了很多种办法后,将其解决方法记录下来,避免更多的人再遇到此问题。
如果你和我一样出现了这个问题
或者
我意识到使用我之前的一篇文章的连接方法,只能连接到java,无法部署到服务器。这是上篇文章的链接,如果数据库没有建好可以参考
https://blog.csdn.net/m0_62404144/article/details/125629289?spm=1001.2014.3001.5501
解决办法如下:
1.在计算机中找到下图中Sqlite数据库中的驱动复制一份
2.然后将刚刚复制的驱动粘贴一份在项目webapp目录下的WEB-INF新建一个lib文件夹中(经过我多次测试,大部分电脑只能放在这里才能部署成功,少部分电脑可以直接放在项目下)
3.点击File-->Project Structure
4.找到Libraries-->+号-->Java
5.选择刚刚粘贴的目录下的驱动,然后点击OK
6.继续OK,Apply-->OK
7.然后我们来写一个代码测试一下
注意:一定要将代码中DriverManager.getConnection("jdbc:sqlite:C:\\Users\\lx\\IdeaProjects\\demo\\identifier.sqlite", "", "");的C:\\Users\\lx\\IdeaProjects\\demo\\identifier.sqlite路径改成自己建立数据库的绝对路径
<%@ page import="java.sql.*" %>
<%@ page import="javax.swing.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
try{
Class.forName("org.sqlite.JDBC");
out.println("数据库驱动成功!");
Connection conn= DriverManager.getConnection("jdbc:sqlite:C:\\Users\\lx\\IdeaProjects\\demo\\identifier.sqlite", "", "");
out.println("连接数据库成功!");
}
catch (SQLException e){
e.printStackTrace();
out.println("连接数据库失败!");
}
catch (ClassNotFoundException e){
e.printStackTrace();
out.println("加载数据库引擎失败");
}
%>
</body>
</html>
可以在左下角这里找到鼠标右击,然后直接复制过去
最后运行一下,成功!