演習 - Java Web アプリを作成する
前のユニットでは、開発者が自分のコンピューターで Web アプリをローカルで実行するために使用する 2 つの一般的なプラグイン ( Eclipse Jetty と Apache Tomcat) があることを学習しました。 Azure App Service プラグインは、これらの Web サーバーの両方をサポートしており、Apache 基盤からの広範な業界導入とサポートにより、Java Web プロジェクトに Tomcat を使用することを選択しました。 既存の 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>
CtrlS +を押して変更を保存します。
コードエディターを終了するには、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 サーバーを終了します。
次のユニットでは、Web アプリを Azure App Service にデプロイする方法について説明します。