연습 - Java 웹앱 만들기
이전 단원에서는 개발자가 컴퓨터에서 웹앱을 로컬로 실행하는 데 사용하는 두 가지 일반적인 플러그인이 있음을 배웠습니다. Eclipse Jetty와 Apache Tomcat이라는 두 가지의 유용한 플러그인을 사용하여 컴퓨터에서 로컬로 웹앱을 실행할 수 있습니다. Azure App Service 플러그인은 이 두 가지 웹 서버를 모두 지원합니다. 여러분의 회사는 업계에서 널리 도입되어 Apache 기반을 지원하는 Tomcat을 Java 웹 프로젝트에 사용하도록 결정했습니다. 회사에서 기존 Java 프로젝트를 Azure로 마이그레이션하려면 무엇이 필요한지 알아보기 위해, 여러분은 Maven과 아키타입을 사용하여 테스트 웹앱을 만들어 보기로 했습니다.
이 연습에서는 maven-archetype-webapp
아키타입을 사용하여 새 Java 웹앱을 만듭니다. 웹앱을 만든 후에는 앱을 로컬로 테스트할 수 있도록 pom.xml
파일을 업데이트하여 Tomcat 플러그인을 추가합니다. 그런 다음 이를 업데이트하여 앱이 실행되는 위치에 대한 자세한 정보를 제공합니다.
Java 웹앱 만들기
오른쪽의 Azure Cloud Shell에서 다음 Maven 명령을 사용하여 새 Java 웹앱을 만듭니다.
mvn archetype:generate \ -DgroupId=com.microsoft.example \ -DartifactId=MyWebApp \ -DarchetypeArtifactId=maven-archetype-webapp \ -DarchetypeVersion=1.4 \ -DinteractiveMode=false
프로젝트 디렉터리로 전환한 다음
code
을(를) 사용하여pom.xml
파일을 웹앱에 맞게 편집합니다.cd MyWebApp code pom.xml
pom.xml
파일에서<plugins>
요소를 찾아 기존 플러그인 아래에 다음<plugin>
을(를) 추가하면 로컬 웹 서버를 실행하여 웹 앱을 테스트할 수 있습니다.<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을 사용하여 새 웹앱을 패키징합니다.
mvn package
샘플 웹앱 테스트
이 연습에서는 브라우저에서 로컬 웹 서버를 볼 수 있도록 포트를 열어야 합니다. 이렇게 하려면 Cloud Shell에서 다음
curl
명령을 사용합니다.curl -X POST http://localhost:8888/openPort/8000;
curl
명령은 아래 예제와 같은 JSON 개체를 반환합니다. 이 개체는 이 연습의 뒷부분에서 웹 서버를 보는 데 사용하는 URL을 포함합니다.{"message":"Port 8000 is open","url":"https://gateway18.westeurope.console.azure.com/n/cc-1829663c/cc-1829663c/proxy/8000/"}
Maven을 사용하여 Tomcat 웹 서버를 시작합니다.
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를 입력하여 웹 서버를 종료합니다.
다음 단원에서는 Azure App Service에 웹앱을 배포하는 방법을 알아봅니다.