У меня странная проблема, я работаю над веб-приложением с java сервлетами и SQLite, используя Jquery в качестве внешнего интерфейса. До сих пор это было успешно, но недавно, когда я вручную удаляю или добавляю что-то в базу данных (из SQLite Studio) и перезагружаю сервер, я все еще получаю старые данные, как будто новые данные вообще не загружаются, все, что у меня есть, это данные, которые фактически удалены.
например, у меня было 10 фильмов в моей базе данных, и я удалил 3 из них из SQLite Studio, но когда я загружаю приложение, я все равно получаю 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();
}
}
}
InitListener
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>
Вот изображение файла с путем и другой информацией https://imgur.com/xWFGSYY
Любая помощь приветствуется, действительно застрял на этом.
РЕДАКТИРОВАТЬ: Я сделал новый файл и подключился к нему, но теперь я получаю,
[SQLITE_ERROR] SQL error or missing database (no such table: movies)
, но есть такая таблица .. .