사용 환경
- Windows 10
- Java 1.8
- Gradle 7.2
- Spring Boot 2.5.6
- Tomcat 9, 10
프로젝트 따라하기
-
프로젝트 생성
브라우져에서 spring initializr를 방문하여 아래와 같이 입력하고 GENERATE 버튼을 클릭합니다.
- Project: Gradle Project
- Language: Java
- Spring Boot: 2.5.6
- Project Meta:
- Group: trvoid
- Artifact: war-api
- Name: war-api
- Package name: trvoid.api
- Packaging: War
- Java: 8
- Dependencies:
- Spring Web
생성된 프로젝트 파일을 다운로드하여 압축을 풉니다. 프로젝트 폴더 구조는 아래와 같습니다.
war-api |-gradle |-src |-main |-java |-trvoid.api |-ServletInitializer.java |-WarApiApplication.java |-resources |-application.properties |-test |-java |-trvoid.api |-WarApiApplicationTests.java |-build.gradle |-gradlew.bat
build.gradle
plugins { id 'org.springframework.boot' version '2.5.6' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' id 'war' } group = 'trvoid' version = '0.0.1-SNAPSHOT' sourceCompatibility = '1.8' repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' testImplementation 'org.springframework.boot:spring-boot-starter-test' } test { useJUnitPlatform() }
src/main/java/trvoid/api/ServletInitializer.java
package trvoid.api; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; public class ServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(WarApiApplication.class); } }
src/main/java/trvoid/api/WarApiApplication.java
package trvoid.api; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class WarApiApplication { public static void main(String[] args) { SpringApplication.run(WarApiApplication.class, args); } }
-
컨트롤러 추가
src/main/java/trvoid/api/MainController.java
package trvoid.api; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class MainController { @GetMapping("/hello") public String hello() { return "Hello!!!"; } }
-
WAR 파일 생성
gradlew build
빌드 결과로 다음 파일이 생성됩니다.
build/libs/war-api-0.0.1-SNAPSHOT.war
build/libs/war-api-0.0.1-SNAPSHOT-plain.war
-
Tomcat 9에 배포
- Tomcat을 실행합니다.
- WAR 파일의 이름을
war-api.war
로 변경하여 Tomcat의webapps
폴더 아래에 복사합니다. - 브라우져에서
http://localhost:8080/war-api/hello
URL에 접속합니다. - 화면에
Hello!!!
가 표시되는지 확인합니다. - Tomcat을 종료합니다.
-
Tomcat 10에 배포
- Tomcat을 실행합니다.
- WAR 파일의 이름을
war-api.war
로 변경하여 Tomcat의webapps-javaee
폴더 아래에 복사합니다. - 브라우져에서
http://localhost:8080/war-api/hello
URL에 접속합니다. - 화면에
Hello!!!
가 표시되는지 확인합니다.
참고 문서
Written with StackEdit.
댓글 없음:
댓글 쓰기