템플릿 엔진 (Template Engine)
템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어
뷰 코드 (HTML)과 데이터 로직 코드 (DB Connection)을 분리하는 역할
템플릿 엔진의 필요성
- HTML에 비해 간단한 문법으로 코드 수 감소
- 같은 페이지에 데이터만 바뀌는 경우에 활용하여 재사용성 높음
- 하나의 템플릿으로 여러 페이지를 렌더링하는 경우가 있어 유지보수 용이
렌더링 주체에 따른 구분
- 서버 사이드 템플릿 엔진
- 클라이언트 사이드 템플릿 엔진
서버 사이드 템플릿 엔진
- 서버에서 구동되는 템플릿 엔진
- 서버에서 데이터를 미리 정의된 템플릿에 넣어서 HTML을 생성하여 클라이언트에 전달
** 동작 과정
- 클라이언트에서 요청 수신
- 서버에서 데이터를 획득 (DB or API)
- 템플릿에 데이터를 배치
- 데이터가 반영된 템플릿으로 HTML을 생성
- 생성된 HTML을 클라이언트에 전달
대표적인 서버 사이드 템플릿 엔진 ≫ JSP, Thymeleaf, Velocity, Freemarket
클라이언트 사이드 템플릿 엔진
- 브라우저 위에서 동작하는 템플릿 엔진
- 브라우저에서 화면을 생성하기 때문에 서버에서는 데이터만 전달하고 클라이언트에서는 템플릿에 데이터를 혼합하여 화면 생성
** 동작 과정
- 클라이언트에서 공통적인 프레임을 템플릿으로 생성
- 서버에 데이터 요청
- 데이터를 템플릿에 배치하고 DOM 객체를 동적으로 그림
대표적인 클라이언트 사이드 템플릿 엔진 ≫ Mustache, Handlebars
'spring' 카테고리의 다른 글
GET API (0) | 2024.09.13 |
---|---|
타임리프(Thymeleaf) (0) | 2024.09.13 |
Spring Bean / 생명주기 (0) | 2024.06.14 |
MVC 패턴 (0) | 2024.04.20 |
HTTP / REST API (0) | 2024.04.19 |