2023. 1. 24. 15:34ㆍJAVA
1. JSP (JavaServer Pages )
: HTML 코드에 JAVA 코드를 넣어 동적 웹페이지를 생성하는 웹 어플리케이션 도구이다.
JSP 가 실행되면 자바 서블릿(Servlet) 으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다.
==> 작동순서
1. 클라이언트가 어떤 동작을 함으로써 hello.jsp 를 요청하였다.
2. JSP 컨테이너가 JSP 파일을 읽는다.
3. JSP 컨테이너가 Generete (변환) 작업을 통해 Servlet ( .java ) 파일을 생성한다.
4. .java 파일은 다시 .class 파일로 컴파일된다.
5. Execute (실행)을통해 HTML 파일을 생성하여 JSP 컨테이너 에게 전달한다.
6. JSP 는 HTTP 프로토콜을 통해 HTML 페이지를 클라이언트 에게 전달한다.
2. Servlet(서블릿)
: 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술
3. JSP 와 Servlet 차이점
: JSP 와 서블릿은 결과적으로 하는일은 동일하지만 차이점이 있다.
JSP는 HTML 내부에 JAVA 소스코드가 들어감으로 인해 HTML 코드를 작성하기 간편하며 Servlet은 자바코드 내에 HTML 코드가 있어서 읽고 쓰기가 굉장히 불편하기 때문에 작업의 효율성이 떨어진다.
==> JSP로 작성된 프로그램은 서버로 요청시 서블릿(Servlet) 파일로 변환되어 JSP 태그를 분해하고 추출하여 다시 순수한 HTML 를 변환한다.
4. Thymeleaf(타임리프)
: Thymeleaf는 HTML, XML, JavaScript, Css 및 일반 텍스트를 처리 할 수 있는 웹 및 독립형 환경에서 사용할수 있는 Java 템플릿 엔진이다.
(MVC패턴 중 View 역할을 담당하고 있다.)
[ 템플릿 엔진(Template Engine) : 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어 ]
5. JSP와 Thymeleaf차이점
Thymeleaf는 html파일을 가져와서 파싱해서 분석 후 정해진 위치에 데이터를 치환해서 웹페이지를 생성한다.
Thymeleaf 템플릿 엔진의 장점은 페이지를 생성하는데 필요한 정보를 태그의 속성으로 넣고, remove 속성을 이용해서 실제 생성될 페이지에서는 제거될 태그를 넣을 수 있어서 페이지의 프로토타입을 제공할 수 있다는 것이다.
(Thymeleaf는 자바코드를 사용할 수 없고, JSP처럼 컴스텀 태크와 같은 기능도 없다.)
JSP는 뭐든지 할 수 있다는게 장점이자 단점이다.
MVC 구조가 주로 사용되며 JSP는 뷰만 담당하고, JSP에 비즈니스 로직을 넣으면 디버깅 및 유지보수가 힘들어진다
'JAVA' 카테고리의 다른 글
[JAVA] 자바가 내 컴퓨터에서 작동할 수 있는 이유 (JDK, JRE, JVM) (0) | 2023.02.06 |
---|---|
[JAVA] 인텔리제이 커뮤니티(IntelliJ Community)에서 스프링부트(SpringBoot) 간단하게 만드는 방법 (0) | 2023.01.24 |
[JAVA] 자바 스프링(Java Spring)와 자바 스프링부트(Java SpringBoot)의 차이점 (0) | 2023.01.24 |
[JAVA] 템플릿 엔진에 대한 설명과 JSP, Thymeleaf과의 관계 (0) | 2023.01.24 |
[JAVA] JPA란 무엇일까? JPA를 사용해야 하는 이유와 SQL과의 관계 (0) | 2023.01.24 |