본문 바로가기

IT/Spring

Spring Boot로 간단한 웹 사이트 만들기 - 환경 구축

 
IDE는 이클립스, intellij 등 아무거나 사용하셔도 됩니다.
보통은 IDE와 톰캣을 연동하여 테스트를 진행하지만 이번에는 별도의 tomcat을 이용해 테스트를 진행하려고 합니다.

Spring Boot-2.3.3.RELEASE
Maven-3.6.3
Tomcat 8.5
thymeleaf

1. 목표

java 8 설치
tomcat 8 설치
Spring Boot 프로젝트 생성
HomeController 생성
thymeleaf를 이용해서 hello 화면 뛰우기

 

2. java 8 설치

2020/04/07 - [IT/JAVA] - [Java] Windows 10 Open-JDK 8 다운로드 및 환경변수 설정

 

3. tomcat 8.5 설치

2020/09/07 - [IT/Apache, Tomcat] - [Tomcat] Windows 10에 Tomcat8.5 설치하기

 

4. maven 설치

2020/09/08 - [IT/Maven] - [Maven] Windows 10 maven 설치하기

 

5. Spring Boot 프로젝트 생성

https://start.spring.io/

Spring Boot initializr 사이트로 이동해서 아래 그림과 같이 선택 후 프로젝트를 GENERATE 해주세요. 

압축을 풀게되면 src 폴더와 pom.xml 및 여러가지 파일이 있는데, src와 pom.xml을 제외한 나머지 파일은 지워도 됩니다.

초기 프로젝트 구조

 

6.  pom.xml 수정

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.3.RELEASE</version>
        <relativePath/>
    </parent>
    <groupId>com</groupId>
    <artifactId>bamdule</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>bamdule</name>
    <description>test project for Spring Boot</description>

    <properties>
        <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>
        
        <!-- thymeleaf 라이브러리 추가 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <build>
        <!-- war 이름 설정하기 -->
        <finalName>bamdule</finalName>
    
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

thymeleaf 라이브러리를 추가하고, war 이름을 설정해줍니다.

7. HomeController.java 생성 및 home.html 생성

1) HomeController.java

com.bamdule.controller package를 생성하고, 그 아래에 HomeController.java를 생성 후 아래와 같이 입력합니다.

package com.bamdule.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/")
public class HomeController {

    @GetMapping("/")
    public String homeView() {
        return "page/home";
    }

}

2) home.html

main / resources / templates / page / home.html 생성

<!DOCTYPE html>
<html>
    <head>
        <title>welcome</title>
        <meta charset="UTF-8">
    </head>
    <body>
        <div>hello</div>
    </body>
</html>

8. maven build

cmd를 실행시키고, 프로젝트 폴더로 이동합니다.

mvn install

빌드가 완료되면 프로젝트 폴더에 target 폴더가 생성됩니다.

빌드가 완료되었다면 bamdule.war를 설치해두었던 tomcat 폴더 안 webapps로 복사합니다.  

9.  tomcat 실행

cmd 실행 후, tomcat의 bin 폴더 경로로 이동한 다음 startup.bat을 실행시킨다.

실행이 완료되었다면 브라우저에 http://localhost:8080/bamdule/ 를 입력하면 다음과 같은 페이지가 노출된다.