SW/Spring Boot

Spring Boot : Tomcat으로 프로젝트 배포 방법, 예제, 개념, 개요

얇은생각 2023. 3. 22. 07:30
반응형

Spring Boot : Tomcat으로 프로젝트 배포 방법, 예제, 개념, 개요

 

 

이 섹션에서는 Tomcat Server에 Spring Boot 애플리케이션을 배포하는 방법에 대해 설명합니다.

여기에는 세 가지 단계가 포함됩니다.

- 스프링 부트 애플리케이션을 설정합니다.

- 스프링 부트 WAR를 만듭니다.

- Tomcat에 WAR을 배포합니다.

 

 

예제

Tomcat에 배포할 Maven 예를 생성해 보겠습니다.

스프링 부트 애플리케이션을 설정합니다.

 

1단계: 스프링 Initializr http://start.spring.io을 엽니다.

2단계: 그룹 이름을 입력합니다.

3단계: 아티팩트 ID를 제공합니다. spring-boot-war-deployment-example를 제공했습니다.

4단계: 스프링 웹 종속성을 추가합니다.

<dependency>  
<groupId>org.springframework.boot</groupId>  
<artifactId>spring-boot-starter-web</artifactId>  
</dependency>

 

 

5단계: Generate 버튼을 클릭합니다. 프로젝트와 관련된 모든 사양을 래핑하고 로컬 시스템에 jar 파일을 다운로드합니다.

Tomcat을 사용한 스프링 부트 프로젝트 구축입니다.

 

6단계: jar 파일의 압축을 풉니다.

7단계: 다음 단계를 사용하여 프로젝트 폴더를 가져옵니다.

파일 -> Import -> 기존 메이븐 프로젝트 -> Next -> Browse -> 프로젝트 폴더 선택 -> Finish

프로젝트를 가져오면 IDE의 패키지 탐색기 섹션에서 다음과 같은 디렉터리 구조를 볼 수 있습니다.

Spring Boot : Tomcat으로 프로젝트 배포 방법, 예제, 개념, 개요 1

 

 

8단계: 패키지 com.xxx에 컨트롤러 클래스를 만듭니다. DemoRestController라는 이름의 클래스를 만들었습니다.

컨트롤러 클래스 내에서 문자열을 반환하는 hello() 메서드를 정의했습니다.

package com.xxx;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class DemoRestController {

    @GetMapping("/hello")
    public String hello() {
        return "Hello User, have a nice day.";
    }
}

 

 

9단계: SpringBootWarDeploymentExampleApplication.java 파일을 Java Application으로 실행합니다.

10단계: 브라우저를 열고 URL http://localhost:8080/hello를 호출합니다.

Spring Boot : Tomcat으로 프로젝트 배포 방법, 예제, 개념, 개요 2

 

다음 단계로 이동하기 전에 응용 프로그램이 올바르게 실행되고 있는지 확인하십시오.

 

 

 

스프링 부트 WAR 생성

Spring Framework의 Servlet 3.0 지원을 사용하며 Servlet 컨테이너가 시작할 때 애플리케이션을 구성할 수 있습니다. 배치를 위한 WAR을 생성하는 세 가지 단계는 다음과 같습니다.

 

스프링 부트 서블릿을 확장합니다.기본 클래스의 이니셜라이저 클래스입니다.

내장된 서블릿 컨테이너를 제공된 대로 표시했습니다.

패키지 JAR을 다음으로 업데이트합니다.

 

위의 세 단계를 애플리케이션에 구현해 보겠습니다.

11단계: SpringBootWarDeploymentExampleApplication.java 파일을 열고 Tomcat에 필요한 Servlet 컨텍스트를 초기화합니다. 이를 위해 SpringBootServlet을 확장합니다.이니셜라이저 인터페이스입니다.

public class SpringBootWarDeploymentExampleApplication extends SpringBootServletInitializer  
{  
}

 

 

 

12단계: 구성 방법을 재정의합니다.

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
    return application.sources(SpringBootWarDeploymentExampleApplication.class);
}

 

 

package com.xxx;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication
public class SpringBootWarDeploymentExampleApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(SpringBootWarDeploymentExampleApplication.class);
    }
    
    public static void main(String[] args) {
        SpringApplication.run(SpringBootWarDeploymentExampleApplication.class, args);
    }
}

 

 

13단계: pom.xml 파일을 열고 서블릿 컨테이너(Tomcat)를 제공된 대로 표시합니다.

<dependency>  
<groupId>org.springframework.boot</groupId>  
<artifactId>spring-boot-starter-tomcat</artifactId>  
<scope>provided</scope>  
</dependency>

 

 

14단계: WAR 파일을 배포해야 하므로 pom.xml 파일에서 패키지 유형을 WAR로 변경합니다.

<packaging>war</packaging>

 

 

15단계: 버전 번호가 포함되지 않도록 <finalName> 태그를 사용하여 최종 WAR 파일 이름을 수정합니다. 우리는 웹 서비스라는 이름의 WAR 파일을 만들었습니다. 

<finalName>web-services</finalName>

 

 

<?xml version="1.0" encoding="UTF-8"?>  
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
<modelVersion>4.0.0</modelVersion>  
<groupId>com.xxx</groupId>  
<artifactId>spring-boot-war-deployment-example</artifactId>  
<version>0.0.1-SNAPSHOT</version>  
<packaging>war</packaging>  
<name>spring-boot-war-deployment-example</name>  
<description>Demo project for Spring Boot</description>  
<parent>  
<groupId>org.springframework.boot</groupId>  
<artifactId>spring-boot-starter-parent</artifactId>  
<version>2.2.2.RELEASE</version>  
<relativePath/> <!-- lookup parent from repository -->  
</parent>  
<properties>  
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>  
<java.version>1.8</java.version>  
</properties>  
<dependencies>  
<dependency>  
<groupId>org.springframework.boot</groupId>  
<artifactId>spring-boot-starter-web</artifactId>  
</dependency>  
<dependency>  
<groupId>org.springframework.boot</groupId>  
<artifactId>spring-boot-starter-tomcat</artifactId>  
<scope>provided</scope>  
</dependency>    
<dependency>  
<groupId>org.springframework.boot</groupId>  
<artifactId>spring-boot-starter-test</artifactId>  
<scope>test</scope>  
</dependency>  
</dependencies>  
<build>  
<finalName>web-services</finalName>  
 <plugins>  
<plugin>  
<groupId>org.springframework.boot</groupId>  
<artifactId>spring-boot-maven-plugin</artifactId>  
</plugin>  
</plugins>       
</build>  
</project>

 

 

Tomcat에서 배포할 수 있는 WAR 애플리케이션을 구축하기 위해 maven clean 패키지를 실행합니다. 그 후 WAR 파일은 /target/abc.war(여기서 abc는 아티팩트 ID로 가정)에 생성됩니다. 이 새로운 설정으로 인해 Spring Boot Application은 독립형 애플리케이션이 아니라는 점을 고려해야 합니다.

 

 

16단계: 다음 단계를 사용하여 WAR 파일을 만듭니다.

프로젝트 -> 다른 이름으로 실행 -> 5 메이븐 빌드를 마우스 오른쪽 버튼으로 클릭합니다.

Spring Boot : Tomcat으로 프로젝트 배포 방법, 예제, 개념, 개요 3

 

 

구성 편집 대화 상자가 화면에 나타납니다.

 17단계: 목표 레이블에 클린 설치를 쓰고 테스트 건너뛰기를 확인합니다. Apply(적용) 및 Run(실행) 버튼을 클릭합니다.

Spring Boot : Tomcat으로 프로젝트 배포 방법, 예제, 개념, 개요 4

 

 

 

WAR 파일이 성공적으로 생성되면 다음 그림과 같이 WAR 파일 경로와 BUILD SUCCESS 메시지가 콘솔에 표시됩니다.

Spring Boot : Tomcat으로 프로젝트 배포 방법, 예제, 개념, 개요 5

 

 

18단계: 경로를 복사하고 응용 프로그램의 대상 폴더에 액세스합니다. 우리는 우리가 pom.xml 파일에 지정한 이름과 같은 이름의 WAR 파일을 타겟 폴더 안에서 찾았습니다. 이 경우 경로는 다음과 같습니다.

C:\Users\tistory\Documents\workspace-sts-3.9.9.RELEASE\spring-boot-war-deployment-example\target

 

 

Spring Boot : Tomcat으로 프로젝트 배포 방법, 예제, 개념, 개요 6

 

 

 

Tomcat에 WAR 파일을 배포

WAR 파일을 배포하려면 다음 단계를 수행하십시오.

19단계: Apache Tomcat 서버가 설치되지 않은 경우 다운로드하여 설치합니다.

20단계: WAR 파일(web-services.war)을 복사하여 Tomcat의 webapps 폴더에 붙여 넣습니다. 이 경우 웹앱 폴더의 위치는 다음과 같습니다.

C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps

 

 

Tomcat을 사용한 스프링 부트 프로젝트 구축입니다.

21단계: 명령 프롬프트를 열고 다음 명령을 입력합니다.

C:\Cd Program Files\Apache Software Foundation\Tomcat  8.5\bin  
C:\Cd Program Files\Apache Software Foundation\Tomcat  8.5\bin>startup

 

 

Spring Boot : Tomcat으로 프로젝트 배포 방법, 예제, 개념, 개요 7

 

 

시작 명령은 아래와 같이 Tomcat 서버를 시작하고 WAR 파일을 배포합니다.

Spring Boot : Tomcat으로 프로젝트 배포 방법, 예제, 개념, 개요 8

 

 

다음 이미지는 WAR이 성공적으로 배포되었음을 보여줍니다.

Spring Boot : Tomcat으로 프로젝트 배포 방법, 예제, 개념, 개요 9

 

 

23단계: 브라우저를 열고 URL http://localhost:8080/web-services/hello를 호출합니다. 그것은 Hello User, 좋은 하루 되세요라는 메시지를 반환합니다.

반응형