いつもお世話になっております。
・j2sdk1.4.1_07
・Tomcat 4.1
・apache_2.0.54-win32-x86-no_ssl.msi
・mysql-4.0.25-win32
・mysql-connector-java-3.1.10
をダンロードし、環境変数なども設定しました。
package javahello;
import java.sql.*;
import java.util.*;
public class DBConnectionPool {
・
・
・
をコンパイルし、
<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ page import="java.sql.*,javahello.DBConnectionPool" %>
<%!
DBConnectionPool pool;
%>
・
・
・
と作成し、
Tomcatのフォルダ]\webapps\examples\WEB-INF\classes\javahelloの下に
DBConnectionPool.class
を入れていざ
http://localhost:8080/examples/javahello/jspdb.jsp
で表示させようとすると、
java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
とエラーが帰ってきてしまいます・・・。
DBConnectionPool.classの置いてあげる場所が悪いのだろうと思い、過去ログなどで調べていても解決に結びつきませんでした・・・。
どこがわるいのでしょうか??
どなたかご教授のほどよろしくお願いします。
No.1
- 回答日時:
java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
ということは、MySQLのドライバ(Connector/J)が認識できていない、ということでは?
ときどきやってしまいますが、Tomcatが実行時に使っているJRE/JDKが、よく調べてみるとConnectorをインストールしてあるJRE/JDKとは別のものだった、ということはあります。どこにConnectorをインストールしてあるか、確認してみてはどうでしょう。
よくわからなければ、インストールされているすべてのJRE/JDKのlib/ext/内に片っ端からConnectorのjarをコピーしてしまえば、どれかが必ず認識します(笑)。
この回答への補足
Kyon2_PaPa様 ご回答ありがとうございます。
>どこにConnectorをインストールしてあるか、確認してみてはどうでしょう。
ということでConnectorはC:\javahello\mysql-connector-java-3.1.10
の中に mysql-connector-java-3.1.10-bin.jar があるのですがこのことでよろしいのでしょうか?
また、
>インストールされているすべてのJRE/JDKのlib/ext/内に片っ端からConnectorのjarをコピーしてしまえば・・・
ということでしたので、
C:\j2sdk1.4.1_07\jre\lib\ext
へ
mysql-connector-java-3.1.10-bin.jar
をコピーしたところ
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION ** java.net.SocketException MESSAGE: java.net.ConnectException: Connection refused: connect STACKTRACE: java.net.SocketException: java.net.ConnectException: Connection
・
・
・
となってしまいました(泣
調べていても前に進むことができません・・・
何か対策があれば教えてください。
Kyon2_PaPa様
おかげさまで動くようになりました。
jarファイルの役割をよく理解せずに利用していたので小さなミスを犯してしまいました。
ご指摘本当に感謝しています。
ありがとうございました。
No.2
- 回答日時:
置き場所の前に、MySQLのjarの中に該当するクラスがあるかまずは調べてみてはいかがでしょう? jarの中になければどこにおいても一緒です。
jarファイルの中にあれば置き場所の問題です。
jarファイルを%CATALINA_HOME%\libか
%CATALINA_HOME%\lib\webapps\(MySQLを利用するコンテキスト)\WEB-INF\lib
に配置してあげれば良さそうなんですが・・・
この回答への補足
Bonjin様 ご回答ありがとうございます。
>置き場所の前に、MySQLのjarの中に該当するクラスがあるかまずは調べてみてはいかがでしょう?
の該当するクラスとはどのようなクラスなのでしょうか??
初歩的なことばかり聞いて申し訳ありませんが、教えてください。
>jarファイルを%CATALINA_HOME%\libか
%CATALINA_HOME%\lib\webapps\(MySQLを利用するコンテキスト)\WEB-INF\lib
に配置してあげれば良さそうなんですが・・・
でを拝見し、環境変数を
変数:CATALINA_HOME
値 :C:\Program Files\Apache Group\Tomcat 4.1
とし、
C:\Program Files\Apache Group\Tomcat 4.1\common\lib
の中に mysql-connector-java-3.1.10-bin.jar
を追加し、再起動後に実行してみたのですが同じエラーが発生しました。
どこか悪いところをお気づきであればご指摘願います。
No.4
- 回答日時:
webアプリじゃなくて、ただのjavaアプリで接続はできますか?
まずはそこからだと思いますよ。
pcbeginner様 返信が送れて申し訳ありませんでした。
一つずつ、確実に組まなければならないことの大切さを教えていただきありがとうございました。
おかげさまで動くようになりました。
本当にどうもありがとうございました。
No.5ベストアンサー
- 回答日時:
>該当するクラスとはどのようなクラスなのでしょうか??
私の書き方が悪かったですね。
簡単に言えばjarファイルの中にドライバクラス(今回はorg.gjt.mm.mysql.Driver)が含まれているか調べるという意味です。
jarコマンドでリストするなり展開するなりすればわかるかと思います。
私もConnector/Jを落としてみましたが、ちゃんと入っていたので問題ないと思います。
私はいつもcom.mysql.jdbc.Driverを使っているのでorg.gjt.mm.mysql.Driverがあるか気になっただけです。ちなみに後者のDriverは前者のDriverをextendsしてある(別名で扱えるだけ)だけなので、どちらを使っても同じです。
%CATALINA_HOME%\common\libに入れてダメってことですよね・・・
とりあえずTomcatを再インストールしてみてはいかがでしょう?
Bonjin様 返信が送れて申し訳ありません。
アドバイスありがとうございました。
再インストールをし、手順どおりに行ったところ望みどおりに動くようになりました。
Bonjin様のお力添えに感謝いたします。
本当にどうもありがとうございました。
No.6
- 回答日時:
問題解決のために恥を忍んでサンプルJSPを載せます。
SQL文やrs.getString()文は適宜変更してください。
実行できますか?
<HTML>
<HEAD>
</HEAD>
<BODY>
<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@page import="java.sql.*" %>
<CENTER>
<%
ResultSet rs = null;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con =DriverManager.getConnection("jdbc:odbc:MySQL");
Statement stmt = con.createStatement();
// 実行して結果セットを取得する
rs = stmt.executeQuery("SELECT * FROM test ORDER BY a");
// 結果セットの分だけループして表示する
while (rs.next())
{
%>
<BR>
<%= rs.getString("a") %>
<%= rs.getString("b") %>
<BR>
<%
}
con.close();
%>
</CENTER>
</BODY>
</HTML>
No.7
- 回答日時:
失礼しましたODBCの場合を誤って載せました。
下記に訂正します。
<HTML>
<HEAD>
</HEAD>
<BODY>
<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@page import="java.sql.*" %>
<CENTER>
<%
ResultSet rs = null;
Class.forName("org.gjt.mm.mysql.Driver"); // MySQLの場合
Connection con = DriverManager.getConnection("jdbc:mysql:///mysql?useUnicode=true&characterEncoding=SJIS","root","123456");
// ステートメントオブジェクトを生成
Statement stmt = con.createStatement();
// クエリーを実行して結果セットを取得
rs = stmt.executeQuery("SELECT * FROM test");
// 検索された行数分ループ
while(rs.next())
{
%>
<BR>
<%= rs.getString("a") %>
<%= rs.getString("b") %>
<BR>
<%
}
stmt.close();
con.close();
%>
</CENTER>
</BODY>
</HTML>
参考URL:http://www.hellohiro.com/jspdb.htm
fortranxp様 返信が送れて申し訳ありません。
ご回答どうもありがとうございました。
おかげさまで動くようになりました。
サンプルコードまで教えていただき、感謝しております。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- PHP eclipse pleiades phpのインストールについて 1 2023/02/03 17:15
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- Java マイクラでPythonのプログラミングができません 3 2023/05/28 07:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipse・プロジェクトで、フォ...
-
javaでuseBeanエラーの解決方法
-
javaクラスファイルをEclipseで...
-
classファイルについて
-
eclipse でclassesフォルダーが...
-
コンパイルした後 java (class...
-
SVFの設定について:クラスパス...
-
Eclipse「リフレッシュ」と「ク...
-
earファイルを展開する方法
-
C#でネットワーク上のMACアドレ...
-
コンパイルをしようとするとエ...
-
ResourceBundleクラスの使い方
-
プログラム実行の際に、「ソー...
-
TOMCATを使用したStrutsエラー...
-
java クラスファイルとソースコ...
-
EclipseでHTTP404エラーが出る。
-
jdbcドライバのjarファイルにク...
-
EclipseでのJSP・Servlet開発に...
-
ファイルのパスの取得について
-
Eclipseで、クラスを新規作成す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipse・プロジェクトで、フォ...
-
javaクラスファイルをEclipseで...
-
Eclipse「リフレッシュ」と「ク...
-
classファイルについて
-
SVFの設定について:クラスパス...
-
eclipse でclassesフォルダーが...
-
EclipseでHTTP404エラーが出る。
-
earファイルを展開する方法
-
【Eclipse】パッケージ・エクス...
-
JADで*.jarごとデコンパイルす...
-
プログラム実行の際に、「ソー...
-
jdbcドライバのjarファイルにク...
-
「削除するか、クラスパスの正...
-
コンパイルをしようとするとエ...
-
java クラスファイルとソースコ...
-
コンパイルした後 java (class...
-
【Eclipse】逆コンパイルでエラ...
-
Javaアプリケーションのアイコ...
-
VisualStudioでC++クラスを追加...
-
「メイン・マニフェスト属性が...
おすすめ情報