teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

質問者の返事を受けて、詳細な説明を加えた。

2019/12/15 12:48

投稿

coco_bauer
coco_bauer

スコア6921

answer CHANGED
@@ -5,4 +5,22 @@
5
5
 
6
6
  Servletはサーバ側で実行されるので、サーバ側にJDBCドライバが無いとダメですよ。(クライアント側にJDBCドライバがあっても、それをサーバ側からアクセスしてロードする訳にはいきませんから)
7
7
 
8
- サーバ側の設定、ドライバの所在・配置を中心に確認してください。
8
+ サーバ側の設定、ドライバの所在・配置を中心に確認してください。
9
+
10
+ =補足(追加説明)=
11
+ rkgm pnqnさんのマシンでは、2つのサーバ(WebサーバであるTomcatとDBサーバであるmysql)のプログラムと、1つのアプリケーションプログラムが稼働することになります。3つのプログラムは、同一のマシンで稼働しているので、2つのサーバはlocalhostのアドレスでアクセスできます(ポート番号が異なるので、IPアドレスが同じでも区別してアクセスできます。
12
+
13
+ 「アプリケーションからDB接続(mysql)を実現」するためには、
14
+ 1)アプレケーション(クライアントプログラム)からWebサーバ(Tomcat)に”DB(mysql)にアクセスする要求”が出される
15
+ 2)要求を受けたWebサーバは、それを処理するサーブレットを起動する。
16
+ 3)サーブレットは、DBにアクセスするためのJava共通APIであるJDBCのドライバをロードする
17
+ 4)サーブレットは、JDBCドライバを使ってmysqlにアクセスして要求された動作(データの検索、挿入、更新、削除等)を行い、結果をクライアントに返す
18
+ 5)クライアントは返された実行結果を使って、次の動作をおこなう
19
+ というような一連の動作が行われる必要があります。
20
+
21
+ 今、問題が起きているのは 「3)サーブレットは、DBにアクセスするためのJava共通APIであるJDBCのドライバをロードする」の部分で、これはサーブレットに関連するファイルが足りないか、置き場所が間違えているというような、サーブレットに関係する部分のインストールに問題があるのだと思われます。
22
+
23
+ 勉強で使っている”JSP/サーブレット”の本には、サーバやサーブレットをインストールする方法を説明している部分があると思いますから、それを参考にしてサーバやサーブレットを正しくインストールしてください。そうすれば、問題が解決すると思われます。
24
+
25
+ "サーブレット インストール方法"とか"JDBC インストール方法"とかのキーワードでWeb検索すると、参考になるWebページが見つかると思います。
26
+ それらの中で、・説明が判りやすい、・自分が使っているサーバ等のプログラムとバージョンが同じ(もしくは近い)、・最近書かれている(できれば1年以内)、といった条件に合うものを参考にすると良いです。