연습 - Java 웹앱 만들기

완료됨

이전 단원에서는 개발자가 컴퓨터에서 웹앱을 로컬로 실행하는 데 사용하는 두 가지 일반적인 플러그인이 있음을 배웠습니다. Eclipse JettyApache Tomcat이라는 두 가지의 유용한 플러그인을 사용하여 컴퓨터에서 로컬로 웹앱을 실행할 수 있습니다. Azure App Service 플러그인은 이 두 가지 웹 서버를 모두 지원합니다. 여러분의 회사는 업계에서 널리 도입되어 Apache 기반을 지원하는 Tomcat을 Java 웹 프로젝트에 사용하도록 결정했습니다. 회사에서 기존 Java 프로젝트를 Azure로 마이그레이션하려면 무엇이 필요한지 알아보기 위해, 여러분은 Maven과 아키타입을 사용하여 테스트 웹앱을 만들어 보기로 했습니다.

이 연습에서는 maven-archetype-webapp 아키타입을 사용하여 새 Java 웹앱을 만듭니다. 웹앱을 만든 후에는 앱을 로컬로 테스트할 수 있도록 pom.xml 파일을 업데이트하여 Tomcat 플러그인을 추가합니다. 그런 다음 이를 업데이트하여 앱이 실행되는 위치에 대한 자세한 정보를 제공합니다.

Java 웹앱 만들기

  1. 오른쪽의 Azure Cloud Shell에서 다음 Maven 명령을 사용하여 새 Java 웹앱을 만듭니다.

    mvn archetype:generate \
      -DgroupId=com.microsoft.example \
      -DartifactId=MyWebApp \
      -DarchetypeArtifactId=maven-archetype-webapp \
      -DinteractiveMode=false
    
  2. 프로젝트 디렉터리로 전환한 다음 code을(를) 사용하여 pom.xml 파일을 웹앱에 맞게 편집합니다.

    cd MyWebApp
    code pom.xml
    
  3. pom.xml 파일에서 <finalName>MyWebApp</finalName> 요소를 찾은 후에 이 줄 아래에 다음 XML을 추가하여 프로젝트에 Tomcat 플러그인을 추가합니다. 이렇게 하면 웹앱을 테스트할 로컬 웹 서버를 실행할 수 있습니다.

    <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을 사용하여 새 웹앱을 패키징합니다.

    mvn package
    

    Maven은 웹앱을 빌드하는 동안 콘솔에 일련의 메시지를 표시합니다. 빌드는 다음 예제와 유사한 상태 메시지로 마무리되어야 합니다.

    [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] ------------------------------------------------------------------------
    

샘플 웹앱 테스트

  1. 이 연습에서는 브라우저에서 로컬 웹 서버를 볼 수 있도록 포트를 열어야 합니다. 이렇게 하려면 Cloud Shell에서 다음 curl 명령을 사용합니다.

    curl -X POST http://localhost:8888/openPort/8000;
    
  2. curl 명령은 아래 예제와 같은 JSON 개체를 반환합니다. 이 개체는 이 연습의 뒷부분에서 웹 서버를 보는 데 사용하는 URL을 포함합니다.

    {"message":"Port 8000 is open","url":"https://gateway18.westeurope.console.azure.com/n/cc-1829663c/cc-1829663c/proxy/8000/"}
    
  3. Maven을 사용하여 Tomcat 웹 서버를 시작합니다.

    mvn tomcat7:run
    
  4. 앞에서 실행한 curl 명령에서 반환한 JSON에 포함된 URL을 사용하여 새 브라우저 탭을 엽니다. 이때 URL 끝에 MyWebApp/을 추가합니다. 예를 들어, 위 예제에서는 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를 입력하여 웹 서버를 종료합니다.

다음 단원에서는 Azure App Service에 웹앱을 배포하는 방법을 알아봅니다.