練習 - 建立 Java Web 應用程式
在上一個單元中,您已了解開發人員在電腦本機上用來執行 Web 應用程式的兩個通用外掛程式:Eclipse Jetty 和 Apache Tomcat。 Azure App Service 外掛程式支援這兩種網頁伺服器,但公司已選擇使用 Tomcat 作為其 Java Web 專案,因為 Tomcat 已在業界廣泛採用,且獲得 Apache 基金會的支援。 為了協助您了解公司在將現有 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 \ -DinteractiveMode=false
切換到專案目錄,然後使用
code
來編輯 Web 應用程式的pom.xml
檔案:cd MyWebApp code pom.xml
在
pom.xml
檔案中尋找<finalName>MyWebApp</finalName>
元素,並在該行下方附加下列 XML,以將 Tomcat 外掛程式新增至您的專案,其可讓您執行本機 Web 伺服器來測試 Web 應用程式:<plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <!-- http port needed in the sandbox is 8000 --> <port>8000</port> </configuration> </plugin> </plugins>
鍵入 Ctrl+S 來儲存變更。
輸入 Ctrl+Q 來結束程式碼編輯器。
使用 Maven 來封裝新的 Web 應用程式:
mvn package
Maven 在建置您的 Web 應用程式時,會在主控台中顯示一系列訊息。 建置應該會以類似下列範例的狀態訊息來結束:
[INFO] Packaging webapp [INFO] Assembling webapp [MyWebApp] in [/home/~/MyWebApp/target/MyWebApp] [INFO] Processing war project [INFO] Copying webapp resources [/home/~/MyWebApp/src/main/webapp] [INFO] Webapp assembled in [23 msecs] [INFO] Building war: /home/~/MyWebApp/target/MyWebApp.war [INFO] WEB-INF/web.xml already added, skipping [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 3.052 s [INFO] Finished at: 2020-02-12T21:12:00+00:00 [INFO] Final Memory: 15M/122M [INFO] ------------------------------------------------------------------------
測試範例 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 tomcat7:run
使用先前執行
curl
命令所傳回 JSON 中的 URL,開啟新瀏覽器索引標籤,並將MyWebApp/
附加到 URL 的結尾。 例如,使用上圖,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。