1

localhost の mysql データベースに接続するクラス A があります。日食でうまく動作します。
次に、サーブレットからクラス A を呼び出す/呼び出すようにプロジェクトを変更し、Tomcat にデプロイしました。
この例外が発生しています:

No suitable driver found for jdbc:mysql://localhost:3306/a

この例外は次の場所で発生します。

DriverManager.getConnection(connectionUrl, user, password);

ここで何がうまくいかないのですか?そして、どうすればこの問題を解決できますか?

追加:
.jar は WEB-INF/lib の下にあると確信していますが、これは問題ではありません。
問題は、次の行を追加するのを忘れたことです。

Class.forName("com.mysql.jdbc.Driver");

この行がJavaプロジェクトではなくWebアプリケーションで必須である理由を知っている人はいますか?

4

1 に答える 1

4

適切なドライバーがありません」というメッセージは、通常、接続するために指定した JDBC URL の構文が正しくないか、ドライバーがまったく読み込まれていないことを意味します。

メソッド getConnection が呼び出されると、 は、DriverManager初期化時にロードされたドライバーと、現在のアプレットまたはアプリケーションと同じクラスローダーを使用して明示的にロードされたドライバーの中から適切なドライバーを見つけようとしますClass.forName()

またmysql-jdbc.jar、クラスパスにあることを確認してください。.jarプロジェクトのディレクトリに物理的な場所に配置することをお勧めし/WEB-INF/libます。その後、Tomcat が残りを処理します。

于 2012-05-21T04:56:08.430 に答える