Coding Planet

[JSP] JSP(Java Server Page)란? Servlet와 JSP의 차이점, 지시어, 스크립팅 원소 본문

Server

[JSP] JSP(Java Server Page)란? Servlet와 JSP의 차이점, 지시어, 스크립팅 원소

jhj.sharon 2023. 3. 20. 19:00
반응형

 

 

1. JSP란?

  • JAVA 코드가 들어가 있는 HTML 코드
  • JAVA의 웹 서버 프로그램 스펙(서블릿)으로 변환되어 서비스 된다.

 

 

2. JSP와 Servlet의 차이

- Servlet에 대한 설명은 이전 포스트 참고

https://sharonprogress.tistory.com/135

 

[Servlet]Servlet, CGI, Servlet Container의미

1. Servlet이란? 동적 웹페이지를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술 웹 서비스를 위한 자바 클래스 웹 프로그래밍에서 클라이언트의 요청(Request)을 처리하고 그 결과

sharonprogress.tistory.com

  • Servlet의 경우 자바 소스코드 속에  HTML 코드가 들어가므로 작성이 복잡하고 번거롭다.
  • JSP는 Servlet과 반대로 HTML소스코드 속에 자바 소스코드(<%%> 또는 <%=%>)가 들어가는 형태이다. 이러한 소스코드는 컴파일을 통해 클래스 파일로 변환되어 웹 서버(WAS)에서 실행된다.

 

 

3. Servlet/JSP 동작순서

1) 웹 서버가 사용자로부터 서블릿에 대한 요청을 받으면 서블릿 컨테이너(WAS)에 그 요청을 넘김


2) 요청을 받은 컨테이너는 HTTPRequest와 HTTPResponse객체를 만들어 이를 서블릿 doPost()나 doGet()메소드 중 하나를 호출


3) 클라이언트가 요청에 대한 응답 웹 페이지를 보여줄 때 기존 Servlet에서 출력 객체를 이용하여 HTML 문서 작성하던  부분(프레젠테이션 로직)을 JSP로 분리함.
-> 데이터의 입력, 수정 등의 대한 제어를 JSP로 넘겨 가독성을 높임.

4) JSP에게 넘겨진 프레젠테이션 로직을 수행한 후 컨테이너에게 Response전달


5) 전달받은 JSP 프레젠테이션 로직 수행 결과와 Servlet이 결합되어 .class 파일이 만들어짐

 

 

 

4. JSP 구성인자(Element)

 

1. 지시어(Directive)

 

1)page

(page 지시어 속성 종류는 아래 포스트 확인)

https://sharonprogress.tistory.com/140

 

  • 현재의 JSP페이지를 컨테이너에서 처리하기 위해 필요한 각종 속성을 기술하는 부분으로 보통 소스의 맨 앞에 위치한다.

2) include

  • jsp 파일이 자바파일로 바뀔 때 자바문서에 삽입되어 컴파일 되는 파일 추가
  • <%@include file="today.jsp" %>

 

3) taglib

  • JSP 기능을 좀더 확장할 수 있는 인자
  • 정의된 사용자 정의 태그 가져와 사용할 수 있는 방법 제공
  • <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

 

 

2. 스크립팅 원소(scripting element)

  • -JSP페이지에서 자바코드를 직접 기술할 수 있게 하는 기능
  • 선언문(declaration): <%! 자바코드 %>
  • 스트립틀릿(scriptlet) : <% 자바코드 %>
  • 출력식, 표현식(expression): <%= 자바코드 %>

 

반응형
Comments