페이지

2021년 11월 8일 월요일

Spring Web + Tomcat 사용 기초

Spring Web + Tomcat 사용 기초

사용 환경

  • Windows 10
  • Java 1.8
  • Gradle 7.2
  • Spring Boot 2.5.6
  • Tomcat 9, 10

프로젝트 따라하기

  1. 프로젝트 생성

    브라우져에서 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);
        }
    
    }
    
  2. 컨트롤러 추가

    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!!!";  
        }  
    }
    
  3. WAR 파일 생성

    gradlew build
    

    빌드 결과로 다음 파일이 생성됩니다.

    • build/libs/war-api-0.0.1-SNAPSHOT.war
    • build/libs/war-api-0.0.1-SNAPSHOT-plain.war
  4. Tomcat 9에 배포

    1. Tomcat을 실행합니다.
    2. WAR 파일의 이름을 war-api.war로 변경하여 Tomcat의 webapps 폴더 아래에 복사합니다.
    3. 브라우져에서 http://localhost:8080/war-api/hello URL에 접속합니다.
    4. 화면에 Hello!!!가 표시되는지 확인합니다.
    5. Tomcat을 종료합니다.
  5. Tomcat 10에 배포

    1. Tomcat을 실행합니다.
    2. WAR 파일의 이름을 war-api.war로 변경하여 Tomcat의 webapps-javaee 폴더 아래에 복사합니다.
    3. 브라우져에서 http://localhost:8080/war-api/hello URL에 접속합니다.
    4. 화면에 Hello!!!가 표시되는지 확인합니다.

참고 문서

Written with StackEdit.

댓글 없음:

댓글 쓰기

가설 검정 제대로 이해하기

가설 검정 제대로 이해하기 ( 주의 : 공부하면서 작성하는 문서라서 오류가 있을 수 있습니다.) 1. 문제 정의 1.1. 사례 기존 가설: 20 대 한국인 남성의 100 미터 달리기 평균 속도는 17 초 ...