Apache Tomcat上的Servlet和JAR

时间:2013-12-07 21:51:20

标签: java eclipse tomcat servlets

我目前正在尝试使用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可以找到该类,我只是不知道如何解决问题。

2 个答案:

答案 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);
    }
}

}