我目前正在尝试使用servlet来执行SQL查询并在网页上返回结果。我正在使用SQLite,JAR已添加到我的项目类路径中。但是,Eclipse告诉我代码:
Class.forName("org.sqlite.JDBC");
有一个“ClassNotFoundException”
当我运行代码时,服务器会给我一条关于ClassNotFoundException的消息。
当我第一次查阅帮助时,我读到我应该将JAR放入Apache的“lib”文件夹中,我做了。
我还单击Eclipse项目中的Servers,单击“Profile As - > Profile Configurations”,并将JAR添加到Classpath中。
我也尝试将JAR添加到WEB-inf / lib以及建议的另一个答案,但问题仍然存在。
有意义的是,JAR需要在某个服务器上,以便servlet可以找到该类,我只是不知道如何解决问题。
答案 0 :(得分:1)
“我也尝试将JAR添加到WEB-inf / lib以及建议的另一个答案,但问题仍然存在。” 这就是JAR应该在物理上的地方。 然后去属性>构建路径>添加JARS并添加JAR
答案 1 :(得分:0)
如果您使用的是eclispe,则无需自行设置路径
您需要将jdbc驱动程序添加到右侧文件夹然后 通过右文件夹我的意思是(WebContent - > WEB-INF - > lib)你可以在不使用eclipse的情况下做到这一点
在eclpise中刷新(F5)你的项目之后,找到你的工作区并在那里调整驱动程序,它应该在那里
确保创建新的DynamicWebProject并粘贴此代码
import java.sql.*;
public class SQLiteJDBC {
public static void main(String args[]) {
Connection conn = null;
Statement stat = null;
try {
Class.forName("org.sqlite.JDBC");
conn = DriverManager.getConnection("jdbc:sqlite:test.db");
conn.setAutoCommit(false);
System.out.println("sqlite opened successfully");
stat = conn.createStatement();
// sql is the query check it online on sqlite page or sql queries
String sql = "INSERT INTO 'name of db and parameters to eqecute'";
stat.executeUpdate(sql);
stat.close();
conn.commit();
conn.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
}
}
}