无法将JDBC驱动程序添加到库范围

时间:2013-09-15 09:12:28

标签: java mysql eclipse jdbc glassfish

我目前正在尝试联系MySQL服务器。 我的目标是让一个servlet在运行时显示一些表数据。 我的servelt在 glassfish 3.1 上运行。

以下是简单的 doGet 方法:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    PrintWriter out = response.getWriter(); 
    out.print("<h1>select * from userName:<h1>");

    try {
        Class.forName("com.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/people", "root", "r00tpw");
        System.out.println("Connected");

        PreparedStatement statement = (PreparedStatement) conn.prepareStatement("select * from userName");
        ResultSet result = statement.executeQuery();

        while(result.next()) {
            out.print(result.getString(0));
        }

    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

我有正确的JDBC驱动程序。我遇到的问题是我的源代码找到它。我尝试右键单击 JRE系统库 - &gt;构建路径 - >配置构建路径并添加外部JAR。它似乎是在任何库范围之外添加的,而不是将JAR添加到引用的库。这意味着Class.forName("com.mysql.jdbc.Driver");总是抛出ClassNotFoundException。

我还尝试将JAR添加到我的运行配置 - &gt; Glassfish 3.1 [pcname] - &gt; Classpath-&gt;用户条目,但没有运气。

我也尝试过使用MS SQL Server及其JDBC驱动程序。同样的事情发生了。

我已附上我的项目结构图片以提供帮助。

What my project explorer looks like after including in claspath

3 个答案:

答案 0 :(得分:1)

将mysql-connector-java-5.1.26放入 WebContent ---&gt; WEB-INF - &gt; lib .inside lib文件夹。

答案 1 :(得分:0)

首先安装jdbc驱动程序后,需要在glassfish中对其进行配置。创建JDBC资源和JDBC连接池。

PS您是否将jdbc JAR添加到glassfish服务器文件夹?

对于glassfish也看到你的连接器它必须位于\ Glassfish3 \ domains \ domain1 \ lib \ databases

答案 2 :(得分:0)

可能是你没有将mysql驱动程序添加到服务器文件夹中。因此,您是否检查了Glassfish管理控制台中的glassfish-resources.xml或JDBC连接?