gpt4 book ai didi

java - Servlet 使用旧的 SQL 数据

转载 作者:行者123 更新时间:2023-12-01 18:37:25 24 4
gpt4 key购买 nike

我有一个奇怪的问题,我正在使用 java servlet 和 SQLite 开发 Web 应用程序,使用 Jquery 作为前端。到目前为止它已经成功,但最近当我手动删除或添加某些内容到数据库(从 SQLite Studio)并重新启动服务器时,我仍然得到旧数据,就像新数据根本没有加载一样,我所拥有的只是实际删除的数据。

例如我的数据库中有 10 部电影,并从 SQLite Studio 中删除了其中 3 部电影,但是当我加载应用程序时,我仍然得到 10 部电影。

有没有办法重新初始化数据库?我有一些关于清除缓存的红色内容,但没有成功。

顺便说一下,我在 SQLite Studio 中删除了数据库,并用相同的名称和数据创建了一个新数据库。也许这就是问题所在,我需要以某种方式重新初始化它

这是我的 ConnectionManager,直到今天它一直运行良好(在这个应用程序上工作了一个多月)。

public class ConnectionManager {

private static final String DATABASE_NAME = "cinema.db";

private static final String FILE_SEPARATOR = System.getProperty("file.separator");
private static final String WINDOWS_PATH = "C:" + FILE_SEPARATOR + "Users" + FILE_SEPARATOR +
"Marnitzinho" + FILE_SEPARATOR + "Documents" + FILE_SEPARATOR + DATABASE_NAME;
private static final String LINUX_PATH = "SQLite" + FILE_SEPARATOR + DATABASE_NAME;

private static final String PATH = WINDOWS_PATH;

private static Connection connection;

public static void open() {
try {
Class.forName("org.sqlite.JDBC");
connection = DriverManager.getConnection("jdbc:sqlite:" + PATH);
} catch (Exception ex) {
ex.printStackTrace();
}
}

public static Connection getConnection() {
return connection;
}

public static void close() {
try {
connection.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}

}

初始化监听器

public class InitListener implements ServletContextListener {

@Override
public void contextDestroyed(ServletContextEvent sce) {
ConnectionManager.close();

}

@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("Initialization....");

ConnectionManager.open();

System.out.println("Done!");

}
}

web.xml

<listener>
<listener-class>cinema.dao.InitListener</listener-class>
</listener>

这是带有路径和其他信息的文件图片/image/Wqk5r.jpg

感谢任何形式的帮助,真的很坚持这一点。

编辑:我创建了新文件并连接到它,但现在我明白了,

[SQLITE_ERROR] SQL error or missing database (no such table: movies)

但是有这样的表...

最佳答案

我通过创建新的数据库文件并将其移动到项目目录中解决了这个问题。

关于java - Servlet 使用旧的 SQL 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60007272/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com