演習 - Java Web アプリを作成する
前のユニットでは、開発者が Web アプリを自分のマシンでローカルに実行するために使用する一般的なプラグインには、以下の 2 つがあることを学習しました。("Eclipse Jetty" と "Apache Tomcat") があることを学習しました。 Azure App Service プラグインは、これらの Web サーバーの両方をサポートします。Tomcat は業界で幅広く採用されており、Apache 財団によるサポートも得られるため、会社はこれを Java Web プロジェクトに使用することを選択しました。 あなたは、会社が既存の Java プロジェクトを Azure に移行するために行う必要がある作業を理解するために、Maven とアーキタイプを使用してテスト Web アプリを作成することにしました。
この演習では、maven-archetype-webapp
アーキタイプを使用して新しい Java Web アプリを作成します。 Web アプリを作成したら、アプリをローカルでテストできるように、pom.xml
ファイルを更新して、Tomcat プラグインを追加します。 その後、アプリが実行されている場所に関する詳細情報を提供するようにそれを更新します。
Java Web アプリを作成する
右側にある Azure Cloud Shell で、次の Maven コマンドを使用して新しい Java Web アプリを作成します。
mvn archetype:generate \ -DgroupId=com.microsoft.example \ -DartifactId=MyWebApp \ -DarchetypeArtifactId=maven-archetype-webapp \ -DarchetypeVersion=1.4 \ -DinteractiveMode=false
プロジェクト ディレクトリに切り替え、
code
を使用して、Web アプリのpom.xml
ファイルを編集します。cd MyWebApp code pom.xml
pom.xml
ファイル内の<plugins>
要素を検索し、次の<plugin>
を既存のプラグインの下に追加します。これによりローカル Web サーバーを実行して、Web アプリをテストできます。<plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven3-plugin</artifactId> <version>1.10.13</version> <configuration> <container> <containerId>tomcat11x</containerId> </container> <configuration> <properties> <!-- http port needed in the sandbox is 8000 --> <cargo.servlet.port>8000</cargo.servlet.port> </properties> </configuration> </configuration> </plugin>
Ctrl+Sキーを押して変更を保存します。
Ctrl+Qキーを押してコード エディターを終了します。
Maven を使用して新しい Web アプリをパッケージ化します。
mvn package
サンプル Web アプリをテストする
この演習では、ローカル Web サーバーがブラウザーに表示されるよう、ポートを開く必要があります。 そのためには、Cloud Shell で次の
curl
コマンドを使用します。curl -X POST http://localhost:8888/openPort/8000;
curl
コマンドは、次の例のような JSON オブジェクトを返します。これには、この演習の後半で Web サーバーを表示するために使用する URL が含まれています。{"message":"Port 8000 is open","url":"https://gateway18.westeurope.console.azure.com/n/cc-1829663c/cc-1829663c/proxy/8000/"}
Maven を使用して Tomcat Web サーバーを起動します。
mvn cargo:run
以前に実行した
curl
コマンドによって返された JSON の URL を使用し、その URL の末尾にMyWebApp/
を追加して、新しいブラウザー タブを開きます。 たとえば、上の図を使用すると、その URL は https://gateway18.westeurope.console.azure.com/n/cc-1829663c/cc-1829663c/proxy/8000/MyWebApp/. になります。 Hello World! がブラウザーに表示されるはずです。Cloud Shell で Ctrl+C キーを押して、Web サーバーを終了します。
このユニットでは、Azure App Service に Web アプリをデプロイする方法について学習します。