【JavaWebアプリ入門 #06】Tomcat-eclipse連携

 

みのる
こんにちは。笑顔で感謝!✨ みのるコーチです。
今回も、ご覧いただき、ありがとうございます。

今回は…

JavaWebアプリ入門 #06
Tomcat-eclipse連携

というテーマでお送りします。

彩香
Tomcat という サーバのお話ですね。
また 新たな領域の話で、とても楽しみです。

よろしくお願いします。

剛留
eclipse も久しぶりなので復習してきました。
今回も頑張ります。よろしくお願いします。

【1】 TomcatとWebアプリ

ここでは…

Tomcat というサーバと
私達が作成する Webアプリ の関係

…を 見ておきましょう。

Tomcat は

Webサーバの機能と
APサーバの機能

を 併せ持っています。

Webサーバは、クライアントとの間で HTTP通信を行い
アプリケーションの処理を APサーバに依頼します。

APサーバは、アプリケーションの処理を実行します。

そして この中にある
Webアプリケーションの 実行環境が

Webコンテナ

です。

私達が作成する Webアプリケーションは、この

Webコンテナに配備して
サーバを動作させる

事となります。

図の 丸で囲んだ AP は
Webアプリケーションの意味です。

ここでは、Tomcat と Webアプリとの関係 を
このイメージで、押さえておきましょうね。

Webコンテナ

という言葉、要チェックです。

【2】 フォルダ構成

Webコンテナ と Webアプリ は 協力しあって
動作して、クライアントからの要求に 応えます。

そして、この時に 決められた
フォルダ構成があります。見ていきましょう。

まず 「コンテキストルート」があります。

ここは、Webアプリ毎の公開されているフォルダです。

ここには、HTML・CSS・後で出てくる JSP などを
配置します。

クライアントから、直接アクセスできるフォルダです。

そして、その下に WEB-INF フォルダがあります。

ここには、設定ファイルが格納されていたり…

クラスファイル格納用 classes フォルダがあったり…

ライブラリ格納用 lib フォルダがあったりします。

また、コンテキストルートの下には META-INF フォルダもあり
こちらは、ざっくり言うと内部情報格納用になります。

そして、eclipseで開発する時には…
1つのWebアプリ=1プロジェクト と考えます。

プロジェクトフォルダの中の src/main/webapp/
フォルダが コンテキストルートになります。

…ですので、ここに配置した HTMLファイルは
クライアントからアクセスできます。

また、eclipse上の Javaソースフォルダは
プロジェクトフォルダ内の src/main/java/ の下に配置します。

そして、コンパイル結果の クラスファイルは
build/classes に 格納されて管理されます。

これだけ見ても、「ウワッ、大変だ…」と
思ってしまうかも 知れませんね…。

今の段階では、ここだけ押さえておきましょう。

① アプリ毎(プロジェクト毎)にコンテキストルートがある。

② コンテキストルートの eclipseのフォルダは
  各プロジェクトフォルダ内の src/main/webapp/ になる。

③ eclipseでの Javaのソースは src/main/java/ 以下に配置する。

ということです。
ここだけ、押さえておきましょう。

…あとは、eclipse と Tomcat が
「よろしく」やってくれます。

彩香
複雑そうに見えましたが
最初は、限られた範囲で 見ていけばいいんですね。

これなら、大丈夫そうです。

剛留
eclipse と Tomcat は、心強い味方って感じがしますね。
安心しました。

【3】 実行の流れ

今回の開発環境での Webアプリケーション作成から
実行までの流れを見ていきましょう。

まず、①eclipseを起動します。

そして、次に eclipse上で
②プロジェクトを作成します。

プロジェクトの単位が
Webアプリの単位となります。

さらに、ここで Webアプリの
コンテンツを作成します。

Javaのプログラムや、htmlファイルなどです。

Webアプリを作成したら
③そのWebアプリをサーバ(Tomcat)に配備します。

プロジェクトとコンテンツを 作成しただけでは
サーバとの関連がありません。

この ③ を行うことで、Webコンテナと
Webアプリが連携して動けるようになります。

そして、④サーバ(Tomcat)を起動します。

この段階まできて、サーバがリクエストを受けてから
レスポンスを返すまでが 出来ることとなります。

最後に、⑤Webブラウザ(GoogleChrome)から
リクエストを送って、レスポンス結果の表示を確認します。

ここまでが、一連の流れになります。
このイメージで、押さえておきましょうね。

【4】 URLの指定

前のコーナーで、最終的に ブラウザからリクエストを
送って レスポンスを得る話をしました。

この時の URLの指定について 見ていきましょう。

URLは 大きくは、①http ②サーバ名
③コンテキストルート ④URLパターン で構成されます。

1つずつ見ていきましょう。

①http と指定する部分ですが
ここは プロトコルを 指定する部分です。

Webアプリは http というプロトコル、または
セキュリティ を強化した https プロトコルが使われます。

本コースは、入門・練習の意味で http を使います。

②サーバ名は、リクエストを受け付けるサーバを 指定します。

本コースでは、パソコンにインストールした Tomcat を
指定します。 localhost:8080 が Tomcat を指します。

③コンテキストルートは
Webアプリ毎に決められた名称 となります。

本コースでは、プロジェクト名を
コンテキストルート(名)としていきます。

最後が ④URLパターン です。
これは、アプリ内で定められたURLパターン(文字列)です。

ここで表されるのは、ひとつは ❶ コンテキストルート内
に配置した html や のちほど学ぶ jsp などです。

もうひとつは ❷ URLマッピング といって、URLパターンと
Javaのクラスを結びつけて Javaプログラムを動作させる事です。

【まとめ】

【1】 TomcatとWebアプリ
✅ Tomcat は、Webサーバ部分と
  APサーバ部分がある。

✅ APサーバ部分には、Webアプリを
  動作させる Webコンテナがある。

【2】 フォルダ構成
✅ Webアプリ毎に コンテキスト
  ルート がある。

✅ コンテキストルートは
  eclipse では src/main/webapp/

✅ Javaソースは
  eclipse では src/main/java/

【3】 実行の流れ
① eclipse起動
② AP・コンテンツ作成
③ APをサーバに配備
④ サーバを起動
⑤ ブラウザで結果確認
【4】 URLの指定
① プロトコル
② サーバ名
③ コンテキストルート
④ URLパターン