Coding Planet
[JSP] JSP(Java Server Page)란? Servlet와 JSP의 차이점, 지시어, 스크립팅 원소 본문
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): <%= 자바코드 %>
'Server' 카테고리의 다른 글
[JDBC] MVC 패턴으로 JDBC 구현하기 (0) | 2023.03.23 |
---|---|
[Servlet/JSP] 내장 객체와 범위(scope), 내장 객체의 우선순위 (0) | 2023.03.21 |
톰캣(Tomcat) 설치, 이클립스 연결 (0) | 2023.03.17 |
톰캣 설치 포트충돌, 오라클 포트 변경하기 (0) | 2023.03.17 |
[Servlet]Servlet, CGI, Servlet Container의미 (0) | 2023.03.17 |