✏️ 템플릿 엔진(Template Engine) 이란?
웹 개발 관점에서 템플릿 엔진이란,
지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어를 이야기 합니다.
동적인 웹페이지를 구성함에 있어 요청과 관련된 다양한 데이터가 필요합니다.
이때, 데이터를 끼워넣을 틀을 만들어 놓으면 페이지 구성을 효율적으로 할 수 있겠죠? 🤔
웹 템플릿 엔진은 View Code(HTML) 과 Data Logic Code(DB) 를 분리시킵니다.
마치 MVC 패턴과 비슷하게 각각의 역할을 나누어
View 에서는 Controller 에서 넘어온 데이터를 틀에 끼워 넣어
클라이언트에게 알맞은 웹 페이지를 제공합니다 🎁
웹 템플릿 엔진은 '서버 사이드 템플릿 엔진'과 '클라이언트 사이드 템플릿 엔진'으로 나눌 수 있습니다.
✏️ 서버 사이드 템플릿 엔진(Server Side Template Engine)
서버 사이드 템플릿 엔진이란 서버쪽에서 템플릿 구성을 하는 방식이라고 생각하시면 이해가 편합니다 🙆🏻
서버에서 DB 혹은 API 에서 가져온 데이터를
미리 정의된 Template에 넣어 HTML 을 그려서 클라이언트에게 전달해주는 역할을 합니다 🔨
이미 정의되어 있는 HTML 코드에 동적으로 생성되는 부분만 템플릿 특정 장소에 끼워넣는 방식으로 동작합니다.
💡 동작 과정
1) 클라이언트(브라우저) 요청을 서버로 보낸다.
2) 서버는 요청을 받아 데이터 처리를 한다.
3) 미리 정의된 Template에 필요한 데이터를 넣는다.
4) 서버에서 데이터가 들어간 HTML을 그린다.
5) HTML을 클라이언트에게 전달한다.
대표적인 서버 사이트 템플릿 엔진으로는 JSP, Thymeleaf, FreeMarker가 있습니다 👨💻
✏️ 템플릿 엔진의 필요성
많은 코드를 줄일 수 있습니다.
기존 HTML 비해서 간단한 문법을 사용합니다.
재사용성이 높습니다.
보통 웹페이지는 비슷한 템플릿을 가집니다. 데이터만 바뀌는 경우가 많기에 템플릿을 사용하면
재사용성이 높습니다.
유지보수에 용이합니다.
하나의 템플릿을 만들어 여러 페이지를 렌더링 할 수 있습니다.
참고
[Template Engine] 템플릿 엔진(Template Engine)이란
[Web] Servlet과 JSP의 차이와 관계
스프링 부트와 AWS로 혼자 구현하는 웹 서비스[책]
펌
'Java Spring' 카테고리의 다른 글
HTTP ) URI 와 웹 브라우저 요청 흐름 (0) | 2025.02.04 |
---|---|
HTTP) TCP / UDP? (0) | 2025.02.04 |
Spring Servlet이란? ( 서블릿 ) , Servlet Container (0) | 2025.01.03 |
Spring MVC 모델 2 (0) | 2025.01.02 |
AOP (Aspect Oriented Programming, 관심 지향 프로그래밍) (0) | 2024.12.26 |