본문 바로가기
🍃Spring ,SpringBoot 공부/스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[스프링 공부/스프링 입문] 템플릿 엔진 (JSP와 Thymeleaf)

by 코코의 주인 2022. 12. 14.

 강의를 수강하다가 강사님께서 템플릿 엔진으로 Thymeleaf를 사용하시는 것을 봤다. 나는 그전까지 JSP를 주로 사용했기에 두 개의 차이가 무엇인지 궁금해졌다.

1.  템플릿 엔진(Template Engine)이란

 템플릿 엔진은 동적인 페이지를 제작하기 위해 사용한다.

 동적인 페이지는 정해진 템플릿에 데이터를 더해서 가공한 결과를 사용자에게 제공하지만, 정적인 페이지는 개발자가 미리 만들어둔 페이지를 그대로 제공한다.


2. 템플릿 엔진의 종류

1) 서버 사이드 템플릿 엔진

서버에서 DB 또는 API에서 가져온 데이터를 미리 정의된 템플릿에 넣어 HTML 문서로 만들고 이를 클라이언트에 전달해준다. HTML 코드에서 고정적으로 사용되는 부분은 템플렛으로 만들어두고 동적으로 생성되는 부분만 템플릿의 특정 부분에 끼워넣는 방식으로 동작한다.

ex) Thymeleaf, JSP 등

2) 클라이언트 사이드 템플릿 엔진

단일 페이지에서 클라이언트의 동작에 따라 화면이 계속 변경되어야 할 경우 매번 서버를 통해 페이지를 업데이트 하기보단 서버에서 필요한 데이터만 받아와서 클라이언트 환경에서 동적으로 페이지를 갱신한다.


3. 템플릿 엔진을 사용하는 이유

1) 많은 코드를 줄일 수 있다.

대부분의 Template Engine은 기존의 HTML에 비해서 간단한 문법을 사용하기 때문에 코드가 줄어든다.

2) 재사용성이 높다.

웹페이지 혹은 웹앱을 만들 때 똑같은 디자인의 페이지에 보이는 데이터만 바뀌는 경우가 굉장히 많기 때문에 템플릿을 재사용할 수 있다.

3) 유지보수에 용이하다.

하나의 Template을 만들어 여러 페이지를 렌더링하기 때문에 유지보수에 용이하다.

댓글