2월 07, 2024

Spring Boot의 정적 컨텐츠 기능

 오늘은 아주 간단하게 스프링 부트에서 제공하는 정적 컨텐츠 기능에 대해 알아보도록 하겠다. 

MVC나 API 등을 통한 방법도 있지만 가장 간단한 방법은 Static content가 아닐까 싶다. 

 

디폴트로 스프링 부트에서는 static/라는 폴더 경로에서 정적 컨텐츠를 로드해온다. 

 

static 폴더는 Spring java project 안에 src/main/resources/static/ 경로에 위치해있다. 

 

여기서 file 추가를 해서 

test.html 파일을 하나 생성해보자.

 

그런 다음에 

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Hello</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p th:text="hallo" >Static content test해보기!</p>
</body>
</html>

이렇게 html 파일을 만들어준다. 

 

서버를 실행하고 

http://localhost:8080/test.html

위 경로로 로컬에서 들어가주면, 

 


이런 식으로 우리가 만들어줬던 HTML이 화면에 보여지는 것을 알 수 있다. 


Spring Boot의 정적 컨텐츠 기능이 작동하는 방식은 아래 flow 와 같다. 

 

1. 웹브라우저에서 

http://localhost:8080/test.html 경로를 내장 tomcat 서버로 보냄

2. Spring container에서 test 관련 컨테이너를 찾음

3. 관련 컨테이너를 찾지 못할 시, static/test.html 정적 파일을 검색

4. 해당 static/test.html 파일을 웹브라우저에 다시 뿌려줌

 

위 방식을 거쳐 위의 url 로 접속을 하게 되면 해당 html 파일이 정적으로 화면에 표출되는 것이라고 할 수 있다.