반응형
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 속성을 이용해서 실제 생성될 페이지에서는 제거될 태그를 넣을 수 있어서 페이지의 프로토타입을 제공할 수 있다는 것이다.