目次
3° JavaWeb アプリケーションのディレクトリ構造 (プログラム/プロジェクト):
3. Tomcat は Web アプリケーションをデプロイします。
1. 雑談
1. Web サーバーの説明:
JavaWebサービスソフトウェアがインストールされたホストマシンをWebサーバー/JavaWebサーバーと呼び、Web開発とはWebサーバー上に対応するWebリソースを開発することです。
Tomcat は本質的に、ブラウザ要求の処理に使用できる Java プログラムです。
2. 一般的な Web サービス ソフトウェア:
1° Tomcat : Apache 組織が提供する Web サーバーで、jsp とサーブレットのサポートを提供します。Tomcat は軽量の JavaWeb コンテナ (サーバー) であり、現在最も広く使用されているJavaWeb サーバーであり、無料のサポートを提供しています。
2° Jboss : JavaEE 仕様に準拠し、すべての JavaEE 仕様をサポートし、無料です。
3° WebLogic : Oracle の製品であり、JavaEE 仕様をサポートしており、
新しい開発要件を満たすために継続的に改良されています。大規模プロジェクトに適しており、有料です。一部の大企業のみで使用されています。4° GlassFish : Oracle Corporation によって開発された JavaWeb サーバー。実稼働レベルの品質を持つ商用サーバーです (ただし、アプリケーションはほとんどありません)。
5° 樹脂: CAUCHO の製品。非常に人気のあるサーバーで、
サーブレットと JSP を適切にサポートし、パフォーマンスも比較的良好です (ただし、課金が必要です)。
2、Tomcat サービス
1.Tomcat のダウンロードとインストール:
まず、Tomcat 公式 Web サイトhttps://tomcat.apache.org/にアクセスし、次の図に示すように、左側の [ダウンロード] でダウンロードするバージョンを選択します。
次に、次の図に示すように、ダウンロードするディストリビューションを選択します。
ダウンロードした zip を指定したディレクトリに解凍して、Tomcat のインストールを完了します (解凍した場所にインストールされます)。
2. Tomcat サービスを開始します。
次の図に示すように、bin ディレクトリ内のstartup.bat ファイルをダブルクリックします。
ダブルクリックすると、次の図に示すように黒いウィンドウが表示されます。
黒いウィンドウを閉じないでください。閉じないと Tomcat サービスが閉じてしまいます。最初に黒いウィンドウを最小化することができます。
ブラウザのアドレスバーに「http://localhost:8080/」と入力し、以下のページにジャンプできればTomcatは正常に起動し、サービスを提供できるようになります。
3. Tomcat を起動する際の注意事項
1° Tomcat は本質的に Java プログラムであり、JDK のサポートが必要です。Tomcat は JAVA_HOME 環境変数のパスに従って指定された JDK を使用します。したがって、JAVA_HOME 環境変数が設定されていない場合は、ダブルクリックして起動します。 。
2° 他のサービス プログラムがポート 8080 を占有している場合は、このサービスを閉じるか、Tomcat サービスのデフォルトのポート 8080 を変更できます。PS:ポートをリッスンしている特定のプログラムを表示したい場合は、管理者権限で DOS を実行し、 netstat -anb コマンドを使用する必要があります。
3° startup.bat メソッドに加えて、bin ディレクトリの下の cmd ウィンドウでcatalina runコマンドを使用して Tomcat サービスを開始することもできます。
4. Tomcat サービスを閉じます。
方法 1:サービス ウィンドウを直接閉じる (推奨されません。乱暴すぎます)
方法 2: bin ディレクトリの shutdown.bat スクリプト ファイルをダブルクリックします (推奨) ; shutdown.bat スクリプトは、Tomcat が指定するポート 8009 にシャットダウン コマンドを送信します。モニター。次の図に示すように、Tomcat サービスをシャットダウンする操作は catalina ログ ファイルに記録されます。
3. Tomcat のデプロイメント
1.Tomcat ディレクトリ構造の説明:
1°ビン
bin ディレクトリは、Tomcat を起動およびシャットダウンするためのスクリプト ファイルを保存するために使用されます。たとえば、Tomcat サービスの開始に使用されるstartup.bat ファイルを次の図に示します。
2.conf
次の図に示すように、 conf ディレクトリは、server.xml や web.xml などの Tomcat サーバーのさまざまな構成ファイルを保存するために使用されます。
server.xml は、Tomcatの基本設定(開始ポート、終了ポート、ホスト名)を構成するために使用されます。
wex.xml は、 Tomcatランタイム設定( Servletなど)を指定するために使用されます。
3°リブ
Tomcat サーバーのサポート jar パッケージが保存されます。
4°丸太
ログインや問題のログなど、Tomcat のログ ファイルを保存します。以下に示すように:
気温5度
一時ファイルを保存します。
6° ウェブアプリ
Web アプリケーションが配置されるディレクトリ。外部アクセス用の Web アプリケーションはここに保存されます。以下に示すように:
このうち、ROOT はデフォルトで Tomcat ポート 8080 でアクセスされる Web アプリケーションです。次の図に示すように、ROOT ディレクトリ内のindex.jsp ファイルを変更します (index.jsp は ROOT Web アプリケーションの下の Web リソースです)。
loaclhost:8080 ポートに再度アクセスすると、次の図に示すように、ページが変更されていることがわかります。
また、http://localhost:8080/index.jsp にアクセスすると、このページにジャンプします。
7°仕事
Tomcat の作業ディレクトリは、Java プログラムのコンパイルされたクラス ファイルを保存するために使用されます。
2. Web アプリケーションに関する注意事項:
1° Web アプリケーションとは何ですか?
(1) WEBアプリケーションは複数のWebリソースの集合です。簡単に言えば、Web アプリケーションは、複数の Web リソースを管理するために使用されるハードディスク上のディレクトリとして理解できます。
(2) Webアプリケーションは通常、 Webアプリケーション、またはWebプロジェクトとも呼ばれ、平たく言えば Web サイトです。
2° Web アプリケーションの構成:
(1) WEBアプリケーションは、 htmlファイル、cssファイル、jsファイル、動的Webページ、Javaプログラム、サポートjarパッケージ、設定ファイルなどを含む複数のWEBリソースまたはその他のファイル で構成されます。(2) 開発者が Web アプリケーションを開発するとき、これらのファイルは 指定されたディレクトリ構造 に従って保存されます 。そうしないと、Webアプリケーションが管理のために Web サーバーに引き渡されるときに、Webアプリケーションにアクセスできなくなるだけでなく、Webサーバーの起動時にエラーが報告される可能性があります。
3° JavaWeb アプリケーションのディレクトリ構造 (プログラム/プロジェクト):
以下に示すように:
このうち、web.xml は Web サイトの構成情報 (サーブレット、フィルターなど) を決定するために使用されます。
3. Tomcat は Web アプリケーションをデプロイします。
1° 導入方法 1
方法 1: WebプロジェクトのディレクトリをTomcatのwebappsディレクトリにコピーします。(強調)
(1) 新しい Web アプリケーションを作成し、HTML ファイルや画像などの静的リソースを Web アプリケーションのディレクトリ直下に配置します。
(2) Web アプリケーションのディレクトリ/フォルダーをTomcatのwebappsディレクトリにコピーします。
(3) ブラウザ経由で Web プロジェクトにアクセスします - http://IP (またはドメイン名):ポート/Web プロジェクト名/サブディレクトリ.../特定のファイル名。
追伸:
ブラウザがアクセスするアドレスに Web プロジェクト名が存在しない場合は、デフォルトで ROOT プロジェクトにアクセスし、ブラウザがアクセスするアドレスにリソース名が存在しない場合は、デフォルトでindex.jsp ページにアクセスします。
2° 導入方法 2
方法 2: 構成ファイルを使用して展開する
(1) Tomcatのconfディレクトリ\Catalina\localhost\にxml ファイルを設定します。(追記: Tomcat は、設定を通じてWebアプリケーションを指定されたディレクトリにマップできます。これにより、ディスク領域の不足など、ディスク領域の割り当ての問題を解決できます)。
(2)ブラウザからWebプロジェクトにアクセスします- http://IP (またはドメイン名):ポート/Web プロジェクト名/リソース
4、Tomcatの設定
1. リソースを要求するブラウザのプロセス分析:
1°ブラウザはまずアドレス バーからホスト名を解析します(例: www.baidu.com)。
2°ブラウザでローカル コンピュータの C:\Windows\System32\drivers\etc ディレクトリにある hosts ファイルにアクセスし、ホスト名に対応する IP があるかどうかを確認します。以下に示すように:
hosts ファイルの構成は、変更および上書きすることで変更できます (直接変更すると、権限が不十分であることが報告されます)。以下に示すように:
さらに、次の図に示すように、 構成された IP を介して独自に構築した Web アプリケーションのリソースにアクセスできます。
3° ドメイン名に対応する IP がローカル マシンの hosts ファイルに見つからない場合は、外部ネットワークの DNS (ドメイン ネーム システム) を参照して検索を続けます。それでも見つからない場合は、次の図に示すように、Web サイトが見つからないというプロンプトが表示されます。
ブラウザは、hosts ファイルまたは DNS サーバーでホスト名に対応する IP を正常に見つけると、取得した IP に基づいてTomcat に HTTP リクエストを送信します。
リソースにアクセスするためにブラウザーによって送信されるHTTP リクエストは次のとおりです。例:
GET /Cyan/シアン.html HTTP/1.1 受け入れる: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,
image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Accept-Encoding: gzip、deflate Accept-Language: zh-CN,zh;q=0.9 キャッシュ制御: max -age=0 接続: キープアライブ ホスト: www.cycla9.com:8080 変更日: 金曜日、2023 年 7 月 14 日 23:28:17 GMT なしの一致: 「307-1689377297994」アップグレードあり-安全でないリクエスト: 1 ユーザー エージェント: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML、Gecko など) Chrome/111.0.0.0 Safari/537.36
4° Tomcat は、ブラウザから送信された HTTP リクエストに従ってWeb アプリケーション(Cyan)
5° Tomcat は、ブラウザーから送信された HTTP リクエストに従ってWeb リソース (シアン.html) を解析します。
6° Tomcat は、リソース名に従って、サーバーの対応する Web リソースを取得します(シアン.html を取得します)
7° Tomcat は取得した Web リソースを HTTP応答の形式でブラウザに返します。
HTTP 応答は次のとおりです。例:
HTTP/1.1 200 Accept-Ranges: バイト ETag: W/"307-1689377316925" Last-Modified: Fri, 14 Jul 2023 23:28:36 GMT Content-Type: text/html Content-Length: 307 Date: Fri , 14 2023 年 7 月 23:28:38 GMT キープアライブ: タイムアウト = 20 接続: キープアライブ
実際、これは単なる応答ヘッダーです (HTTP 応答は、応答ヘッダーと応答本文の 2 つの部分に人為的に分割されています)。実際の応答は、応答ヘッダー + 応答本文である必要があります。以下のように:
HTTP/1.1 200 Accept-Range: バイト ETag: W/"307-1689377316925" Last-Modified: Fri, 14 Jul 2023 23:28:36 GMT Content-Type: text/html Content-Length: 307 Date : Fri, 14 Jul 2023 23:28:38 GMT キープアライブ: タイムアウト = 20 接続: キープアライブ<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>Cyan_RA9</title>
</head>
<body>
<h1 style="border:2px cornflowerblueソリッド; フォントファミリー: consolas; width:150px">Cyan_RA9</h1>
<img src="TID_02.jpg" width="450px"/>
</body>
</html>応答ヘッダーの「コンテンツの長さ」 = 307、これは実際の応答本文の長さです。次の図に示すように、返された応答本文をテキスト ファイルにコピーします。サイズはちょうど 307 バイトです。
ブラウザーは HTTP 応答を取得した後、応答本文 (ここでは chan.html) のみを解析します。つまり、最終的に HTML ファイルが返されます。
8°ブラウザは返された結果を解析して表示します。
PS:新しい Web リソースを申請するたびに、ブラウザは Tomcat にリクエストを送信する必要があり、Tomcat はリソースを取得した後にブラウザに応答を返す必要があります。つまり、各 Web リソースにはリクエストとレスポンスが必要です。例: 次の図に示すように、次に要求される Web リソースは画像であり、そのサイズは応答本文で確認できます。
このマシンでこの画像を見つけてそのプロパティを確認したところ、次の図に示すように、このサイズであることがわかりました。
Tomcat はブラウザとサーバーの間に「ブリッジ」を「構築」するため、Tomcat は「ミドルウェア」とも呼ばれます。
2. ポートの問題に関するさらなる説明:
1° 次の図に示すように 、Tomcat ディレクトリの下のconfディレクトリ で、 server.xml構成ファイルを変更してTomcat のデフォルトのリスニング ポートを変更します。PS: Tomcat はデフォルトでポート 8080 をリッスンします。ポート番号の範囲は 1 ~ 65535 です。ポート番号を 1024 以上、できれば 10000 以上に変更することをお勧めします。変更後、Tomcat サービスを再起動して有効にします。
2° http://localhost、デフォルトでポート 80 にアクセスします。つまり、http://localhost は http://localhost:80 と同等です。
3.IDEA配置Tomcat :
1°新しい Java プロジェクトを作成し、Java プロジェクトを右クリックして [フレームワーク サポートの追加... ] を選択し、[ Web アプリケーション] を選択して追加します。IDEAは自動的に Web ディレクトリを作成します (次のディレクトリ構造と一致します)。 JavaWeb アプリケーション) は、Java プロジェクトがサポート Web であることを示します。
2°次の図に示すように 、IDEA の右上隅にある[構成の編集... ] をクリックし、 + 記号をクリックして、Tomcat --> ローカル を選択します。
Tomcat サーバー ---> ローカルを選択すると、インターフェイスは次のようになります。
3°このうち、 DeploymentはWebサイトの公開方法を決めるもので、一般的にはArtifact(成果物)が選択されます。次の図に示すように、[+] をクリックして追加します。
以下の「アプリケーション コンテキスト」は、現在の JavaWeb アプリケーションのアプリケーション名を表します。
4°およびサーバーは、ローカル Tomcat の一部の機能を構成するために使用されます。
このうち、アプリケーション サーバーは、次の図に示すように、インストールする Tomcat を選択するために使用されます。
Tomcat ホーム ディレクトリは、bin ディレクトリの上位レベルに選択する必要があります。
「ブラウザを開く」は、デフォルトで使用されるブラウザを選択するために使用されます。
5°上部の次の図に示すように、 区別することをお勧めします。
6°構成が完了したら、「OK」をクリックすると、次の図に示すように、Tomcat が正常に表示されることがわかります。
7°構成が成功すると、指定した URL + リソース名を介してWeb リソースにアクセスできます(注 - ① アクセスされるリソースは、現在の Web フォルダー、つまり IDEA によって自動的に作成される Web ファイル ディレクトリに存在する必要があります。② 構成されたポート他のプログラムでは使用できません)。
4. IDEA 設定 Tomcat の詳細 :
1° 「ホットローディング」について:
以下の 図に示すように:
(1) onupdateaction: 更新操作が発生すると、Tomcat がWeb リソースを自動的に更新することを示します( jsp/html ファイルが変更された場合にのみ有効になります。変更が Java ファイルの場合は、Redepoly が更新する必要があります)効果)。
(2) onframedeactivation: IDEA がフォーカスを失うと、Tomcat が Web リソースを自動的に更新することを示します (上記と同じ)。
2° Tomcat 設定時のポートについて:
以下に示すように:
ここでのリスニング ポートの変更は、現在の JavaWeb プロジェクトでのみ有効になり、Tomcat の server.xml ファイル内の構成情報には影響しません。
3° out ディレクトリについて :
(1) Tomcat が 起動すると、 out ディレクトリが生成されます。これは基本的に元のプロジェクト リソースのマッピングであり、 ブラウザが最終的にアクセスするリソースは、 outディレクトリ の下にマッピングされたリソースです。(2) 外部から現在の JavaWeb プロジェクトにリソース ( ピクチャ 、 ファイル 、js、css など ) をコピーするときに、 「 404 inaccessible 」エラーが発生する場合は、 out ディレクトリ内のマッピング ファイルが正しくないことが原因です。ソース ファイルと同期する ; 解決策は、プロジェクトを 再構築し、 Tomcatを再起動することです。
4° IDEA プロジェクトの下のディレクトリの説明:
以下に示すように:
5、Tomcatの概要
① Tomcat サービスを正しく開始および終了する方法を明確にする必要があります。
②Tomcatディレクトリ下の各サブディレクトリの役割を理解している。
③ Tomcat の原理、つまりブラウザがリソースを要求して取得するプロセス全体をマスターします(重要)。
④ IDEA に基づいて Tomcat を構成する具体的なプロセスを習得します。
⑤IDEAにおけるWebプロジェクトのディレクトリ構造を含め、Webプロジェクトの各ファイルディレクトリの役割をマスターする。
System.out.println("END------------------------------------------ -------------------------------------");