1

現在、MySQL サーバーに接続しようとしています。私の目標は、実行時にいくつかのテーブル データを表示するサーブレットを作成することです。私のサーベルトはグラスフィッシュ 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 System Library->Build Path->Configure Build Pathを右クリックして、外部 JAR を追加しようとしました。JAR を参照ライブラリに追加するのではなく、ライブラリの範囲外に追加されているようです。これは、Class.forName("com.mysql.jdbc.Driver");常に ClassNotFoundException をスローしていることを意味します。

また、[pcname]-> Classpath-> User Entries で実行構成 -> Glassfish 3.1 にJAR を追加しようとしましたが、うまくいきませんでした。

MS SQL Server とその JDBC ドライバーも使用してみました。同じことが起こります。

役立つように、プロジェクト構造の画像を添付しました。

クラスパスに含めた後のプロジェクト エクスプローラーの外観

4

3 に答える 3

1

mysql-connector-java-5.1.26 を WebContent--->WEB-INF-->lib .inside lib フォルダーに配置します。

于 2013-09-15T09:23:26.610 に答える
0

まず、jdbc ドライバーをインストールしたら、glassfish で構成する必要があります。JDBC リソースと JDBC 接続プールを作成します。

PS jdbc JARをglassfishサーバーフォルダーに追加しましたか?

Glassfish の場合もコネクタを確認するには、\Glassfish3\domains\domain1\lib\databases に存在する必要があります

于 2013-09-15T09:22:07.257 に答える
0

mysql ドライバーがサーバー フォルダーに追加されていない可能性があります。そのため、glassfish-resources.xmlGlassfish 管理コンソールで JDBC 接続を確認しましたか?

于 2013-09-15T09:39:41.887 に答える