練習 - 建立 Java Web 應用程式

已完成

在上一個單元中,您已了解開發人員在電腦本機上用來執行 Web 應用程式的兩個通用外掛程式:Eclipse JettyApache Tomcat。 Azure App Service 外掛程式支援這兩種網頁伺服器,但公司已選擇使用 Tomcat 作為其 Java Web 專案,因為 Tomcat 已在業界廣泛採用,且獲得 Apache 基金會的支援。 為了協助您了解公司在將現有 Java 專案移轉至 Azure 時所需執行的作業,您已決定使用 Maven 和原型來建立一個測試 Web 應用程式。

在此練習中,您將使用 maven-archetype-webapp 原型來建立新的 Java Web 應用程式。 建立 Web 應用程式之後,將更新 pom.xml 檔案以新增 Tomcat 外掛程式,因此您可以在本機測試應用程式。 然後,您將會加以更新,以提供與應用程式執行位置相關的詳細資訊。

建立 Java Web 應用程式

  1. 在位於右側的 Azure Cloud Shell 中,使用下列 Maven 命令來建立新的 Java Web 應用程式:

    mvn archetype:generate \
      -DgroupId=com.microsoft.example \
      -DartifactId=MyWebApp \
      -DarchetypeArtifactId=maven-archetype-webapp \
      -DinteractiveMode=false
    
  2. 切換到專案目錄,然後使用 code 來編輯 Web 應用程式的 pom.xml 檔案:

    cd MyWebApp
    code pom.xml
    
  3. 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>  
    
  4. 鍵入 Ctrl+S 來儲存變更。

  5. 輸入 Ctrl+Q 來結束程式碼編輯器。

  6. 使用 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 應用程式

  1. 針對本練習,您將需要開啟連接埠,以確保可在瀏覽器中檢視本機網頁伺服器。 若要這樣做,請在 Cloud Shell 中使用下列 curl 命令:

    curl -X POST http://localhost:8888/openPort/8000;
    
  2. curl 命令會傳回與下列範例相似的 JSON 物件,其中包含稍後在此練習中將用來檢視 Web 伺服器的 URL:

    {"message":"Port 8000 is open","url":"https://gateway18.westeurope.console.azure.com/n/cc-1829663c/cc-1829663c/proxy/8000/"}
    
  3. 使用 Maven 啟動 Tomcat Web 伺服器:

    mvn tomcat7:run
    
  4. 使用先前執行 curl 命令所傳回 JSON 中的 URL,開啟新瀏覽器索引標籤,並將 MyWebApp/ 附加到 URL 的結尾。 例如,使用上圖,URL 將會是 https://gateway18.westeurope.console.azure.com/n/cc-1829663c/cc-1829663c/proxy/8000/MyWebApp/. 您應該會在瀏覽器中看到畫面顯示 Hello World!:

    Screenshot fo the example web app running on Tomcat in a web browser.

  5. 在 Cloud Shell 中鍵入 Ctrl+C 來結束網頁伺服器。

在下一個單元中,您將會了解如何將 Web 應用程式部署到 Azure App Service。