2-7 동적 웹페이지로 응답하기 - 템플릿 엔진 종류

코딩강사·2022년 10월 21일

2-7 동적 웹페이지로 응답하기 - 템플릿 엔진 종류

이전 예제에서 정적인 웹으로 응답하는 서버를 만들어보았습니다. 대부분의 웹 사이트는 사용자에 요청에 따라 다양한 정보를 제공합니다. 네이버 뉴스 사이트를 보더라도, 정치, 사회, 스포츠, 리빙 등 다양한 정보를 제공합니다. 이는 데이타베이스에 있는 내용을 가져오면서 동적인 웹 페이지를 구성하기 때문입니다.

스프링부트에서는 동적인 웹페이지를 구성하기 위해 여러가지 뷰 템플릿 엔진(View Template Engine)를 제공합니다.

뷰 템플릿 엔진(View Template Engine)이란 미리 만들어진 틀(템플릿)안에 데이타를 합성해서 HTML 문서를 만들어내는 소프트웨어를 말합니다.
뷰 템플릿 엔진은 서버에서 동작하는 서버 템플릿 엔진과 웹브라우저에서 동작하는 클라이언트 템플릿 엔진이 있습니다.
서버 템플릿 엔진 : 타임리프(Thymeleaf), 머스테치(Mustache), JSP(Java Server Pages) 등이 있습니다.
클라이언트 템플릿 엔진 : 뷰(Vue.js), 리액트(React.js), 앵귤러(Angular.js) 등이 있습니다.

저희는 이중에서 타임리프와 머스체치, JSP를 차례로 다뤄보겠습니다. 타임리프는 스프링부트 개발진에서 많은 지원을 하는 공식 엔진입니다. 좀 복잡해 보이지만 JSP처럼 로직(조건문, 형식화된 출력문 등..)을 지원하는 기능이 많은 엔진입니다. 머스테치는 로직이 없는(Logic-less) 엔진입니다. 따라서 사용법이 간단하고 뷰와 서버의 역할을 명확하게 나눠주어서 인기가 있습니다. JPS는 스프링부트에서는 권장하지 않는 템플릿 엔진입니다. 하지만 우리나라 개발현장에서는 아직도 정부주도로 JSP를 많이 사용하고, 유지보수도 해야 상황이므로 다뤄보도록 하겠습니다. JSP는 타임리프만큼이나 기능이 많습니다. 이 책에서는 지면의 한계로 인해 환경설정 및 핵심적인 내용을 다루고, 보다 자세한 사항은 JSP에 관한 책이나 인터넷 자료를 이용하실 것을 추천드립니다.

클라이언트 템플릿 엔진 중에서는 뷰(Vue.js)가 요즘 인기가 있습니다. 향후 예제에서 html내의 form태그와 JavaScript에서의 요청뿐 아니라, Vue파일 내에서 axios 요청에 대한 응답에 대해서도 한번 다워보겠습니다.

profile
강의하는 개발자

0개의 댓글