Tomcatとはサーバのこと
TomcatはWebサーバとAPサーバの機能を持っているものです。
※Webサーバとはクライアントとの間でHTTP通信を行いアプリケーションの処理をAPサーバに依頼
※APサーバはアプリケーションの処理を実行するところ
WebサーバとAPサーバについては下記のサーバ構成で詳しく解説しています。
TomcatとWebアプリの関係は?
APサーバ内にあるWebコンテナという部分がWebアプリケーションの実行環境となる。
つまり、WebアプリはこのWebコンテナに配備してサーバを動作させることになる。
TomcatとWebアプリとの関係は、
「Tomcatが持つAPサーバ内にあるWebコンテナにWebアプリを配備してサーバを動かしている」というもの
冗長な表現にはなってしまいましたが、私もはっきりとイメージができた分けたわけではありませんが、ここではそういうものだと思っておきます。※Webコンテナのこともよくわかっていません。
フォルダ構成
WebコンテナとWebアプリは協力し合って動作して、クライアントの要求に応えている。
その際に決められた「フォルダ構成」がある。
📂コンテキストルート(公開フォルダ HTML/CSS/JSPなど)
|
|ーーーー 📁WEB-INF(非公開フォルダ)
| |
| |ーーーー 📂classes=クラスファイル格納
| |
| |ーーーー 📁lib=ライブラリファイル格納
|
|ーーーーー📁META-INF(内部情報格納)
コンテキストルートとは「Webアプリ」の最上位のパスのこと
eclipsの開発では、1つのWebアプリ=1プロジェクト(コンテキストルート)
eclipsのフォルダでは
・コンテキストルート=src/main/webapp/ ※ここに配置したHTMLはクライアントからアクセス可
・Javaソースフォルダ=src/main/java/
→コンパイル結果のクラスファイル=build/classes/に格納
実行の流れ
eclips上でAP=プロジェクト(JavaのプログラムやHTMLファイルなど)を作成
→APをTomcatに配備/ここでWebコンテナとWebアプリが連携して動けるようになる。
→Tomcatを起動すると、「サーバがリクエストを受けてからレスポンスを返す」ができるようになる。
→Webブラウザから実際にリクエストを行いレスポンスの結果確認
URLの指定
上記の流れの際のURLの指定を見る。
http://サーバ名/コンテキストルート/URLパターン
- http
http or https というプロトコルが使われる。 - サーバ名
リクエストを受け付けるサーバを指定/Tomcat(localhost:8080)など。 - コンテキストルート
Webアプリ毎に決められた名称/プロジェクト名など。 - URLパターン
アプリ内で定められたURLパターン
①コンテキストルートないのhtml,jspなど
②URLマッピングしてサーブレット起動
まとめ
・TomcatとはWebコンテナ(APサーバのさらに中にあるとこと)のひとつ
・TomcatとはJava Servlet(Webサーバ上で動くJavaプログラム)を動かすもの
コメント