본문 바로가기

Spring

Spring Boot 정적 컨텐츠 처리

 

 

스프링 부트를 사용할 때 주로 Thymeleaf를 많이 사용한다 요즘 개발하고있는 프로젝트는 간단하게 Thymeleaf를 적용했다

 

 

Thymeleaf (타임리프)

Thymeleaf는 웹 애플리케이션의 뷰(화면)를 생성하기 위한 자바 템플릿 엔진이다.

Thymeleaf는 HTML, XML, JavaScript, CSS 등의 마크업 언어를 지원하며, 다른 템플릿 엔진들과 달리 뷰 템플릿 파일 자체도 유효한 마크업 문서이다. 이는 템플릿 파일이 개발자와 디자이너 모두에게 친숙한 문법으로 작성될 수 있도록 하는 장점이 있다. 또한 Thymeleaf는 서버 측에서 렌더링되므로 클라이언트 측에서 추가적인 로딩 없이 바로 렌더링 결과를 확인할 수 있다. 이를 통해 사용자 경험을 향상시키는데 도움이 된다.

Thymeleaf는 Spring Framework와 같은 자바 기반 웹 프레임워크와 함께 많이 사용되며, 다양한 기능을 제공한다. 예를 들어, 반복문, 조건문, 변수, 링크, 이미지 등을 다루는 기능을 지원하며, Thymeleaf Layout과 같은 추가 기능을 통해 레이아웃을 쉽게 관리할 수 있다.

Thymeleaf는 오픈소스 라이선스인 Apache License 2.0으로 배포된다. 따라서 누구나 무료로 사용하고 수정할 수 있다. 또한, 소스코드도 공개되어 있으므로 자유롭게 살펴볼 수 있다.

 

 

스프링부트 정적 컨테츠 위치

 

위처럼 static, templates에 위치 시켜서 사용하고 있다.

 

yml 파일은 아래와 같이 세팅했다.

 

타임리프 prefiex, suffix, 캐시 사용 여부 정도 설정해주었다.

 

yml 파일로 설정 안하고 class로 설정이 가능하며 

 

 

동일한 설정 효과를 가져올 수 있었다.

 

정적소스를 위처럼 지정해도 static 파일일들도 읽어 들이는데 좀더 깊게 파악해보면

 

내부적으로 해당 디렉토리를 Default로 가지고 있었다.

 

 

 

따라서 개발자가 어떤한 세팅 액션이 없으면 기본설정이 되어 수행이되어있다.

 

이렇게 하여 저번에 정적 웹소켓 정적 페이지를 열수 있었다.

 

타임리프를 사용하면서 html, js, css를 분리하면서 사용하려하였고

 

위처럼 타임리프에서 제공하는 인자를 통하여 세팅하여 진행했다.

 

다음번에는 이제 스크립트 정리를 하고 css도 조금 넣어볼 예정이다.