Language/html

JSP와 Thymeleaf

JUNGKEUNG 2021. 11. 20. 15:20

JSP(Java Scerver Pages)


  • JSP는 Java Scerver Pages의 약자이며 HTML 코드에서 JAVA코드를 넣어 동적웹페이지를 생성하는 웹어플리케이션 도구이다.
  • JSP가 실행되면 자바 서브릿(Servlet)으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행한다. 그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다.

 

 

 

Thymeleaf(타임리프)


  • Thymeleaf는 템플릿 엔진 동작원리로 되어있다.
  • MVC패턴 중 View 역할을 담당하고 있다.

표현식

  • 변수 : ${...}
  • 선택 변수 : *{...}
  • 메시지 : #{...}
  • Link URL : @{...}

 

 

 

Thymeleaf와 jsp의 차이점


  • Thymeleaf는 HTML, XML, JavaScript, Css 및 일반 텍스트를 처리 할 수 있는 웹 및 독립형 환경에서 사용할수 있는 Java 템플릿 엔진이다. Thymeleaf는 html파일을 가져와서 파싱해서 분석 후 정해진 위치에 데이터를 치환해서 웹페이지를 생성한다.

 

  • JSP는 서블릿으로 변환되어 실행이 된다. JSP 내에서 자바 코드를 사용할 수도 있다. Thymeleaf는 자바코드를 사용할 수 없고, JSP에서 처럼 컴스텀 태크와 같은 기능도 없다.

 

 

 

장단점


  • JSP는 뭐든지 할 수 있다는게 장점이자 단점이다. MVC 구조가 주로 사용되면 JSP는 뷰만 담당하고, JSP에 비즈니스 로직을 넣으면 디버깅 및 유지보수가 힘들어진다
  • Thymeleaf 템플릿 엔진의 장점은 페이지를 생성하는데 필요한 정보를 태그의 속성으로 넣고, remove 속성을 이용해서 실제 생성될 페이지에서는 제거될 태그를 넣을 수 있어서 페이지의 프로토타입을 제공할 수 있다는 것이다. 

 

 

 

참고자료


https://offbyone.tistory.com/410

https://javacpro.tistory.com/43