Seojoo21 2022. 2. 5. 15:47

JSP 페이지의 구성 요소 

HTML 문서를 생성하기 위해서는 다양한 것들이 필요한데 이를 위해 JSP는 다음과 같은 7가지 요소를 제공한다. 

이 7가지 구성 요소들을 익히는 과정이 JSP를 공부하는 과정이다.

 

디렉티브 (Directive):

스크립트요소: 스크립트릿 (Scriptlet), 표현식 (Expression), 선언부 (Declaration)

표현언어 (Expression Language)

내장객체 (Implicit Object) 

표준 액션태그 (Action Tag)

커스텀 태그 (Custom Tag)와 표준 태그 라이브러리 (JSTL) 

정적인 데이터


1. 디렉티브 (Directive)

- JSP 페이지에 대한 설정 정보를 지정할 때 사용 

- 디렉티브 실행 문법: <%@ %>

                             예) <%@ page contentType = "text/html; charset=utf-8"%>

 

2. 스크립트요소

JSP 문서의 내용을 동적으로 생성하기 위해 사용된다. 사용자가 폼에 입력한 정보를 데이터 베이스에 저장할 수 있고, 데이터 베이스로부터 게시글 목록을 읽어와 출력할 수 있고, 자바가 제공하는 다양한 기능을 사용할 수 있다. 

 

2.1 스크립트릿 (Scriptlet)

- 자바 코드를 실행한다.

- 실행 문법: <% %>

 

2.2 표현식 (Expression)

- 값을 출력한다.

- 실행 문법: <%= %>

 

2.3 선언부 (Declaration)

- 자바 메서드를 만든다.

- 실행 문법: <%! %> 

 

3. 표현언어 (Expression Language)

- JSP 스크립트요소는 자바 문법을 그대로 사용할 수 있다.

- 그러나 자바 문법을 그대로 사용할 경우 JSP코드가 다소 복잡해질 수 있어 표현언어를 사용하면 코드를 간결하고 이해하기 좋게 만들어준다.

- 즉, 표현식 <%= 값 %> 을 간단하게 표현하기 위해 쓰는 것이 EL $ { } 이다.   

- 실행 문법: ${ }

 

4. 내장객체 (Implicit Object) 

- JSP 기술 사양서에 정의된 필수적인 9개 객체로 JSP에서 별도 선언 없이 사용 가능하다. 

 

request: 클라이언트의 요청 정보를 저장한다. 

response: 응답 정보를 저장한다. 

pageContext: JSP 페이지에 대한 정보를 저장한다. 

session: HTTP 세션 정보를 저장한다. 

application: 웹 어플리케이션에 대한 정보를 저장한다. 

out: JSP 페이지가 생성하는 결과를 출력할 때 사용하는 출력 스트림이다. 

exception: 에러 페이지에서만 사용한다. 

config: JSP 페이지에 대한 설정 정보를 저장한다. 

page: JSP 페이지를 구현한 자바 클래스 인스턴스이다. 

 

5. 표준 액션태그 (Action Tag)

- JSP 페이지에서 특별한 기능을 제공한다. 액션 태그의 종류에 따라 서로 다른 속성과 값을 갖는다. 

- 실행 문법: <jsp: 액션태그이름> 

 

6. 커스텀 태그 (Custom Tag)와 표준 태그 라이브러리 (JSTL) 

6.1 커스텀 태그 (Custom Tag) 

- JSP를 확장시켜주는 기능. 개발자가 직접 개발해주어야 한다. 

- 주로 JSP 코드에서 중복되는 것을 모듈화 하거나 스크립트 코드를 사용할 때 발생하는 소스 코드의 복잡함을 없애기 위해 사용한다. 

 

6.2 표준 태그 라이브러리 (JSTL) 

- 커스텀 태그 중 자주 사용하는 것들을 별도로 표준화한 태그 라이브러리이다.

- if-else 조건문, for문 같은 반복 처리를 커스텀 태그를 이용해서 구현할 수 있도록 해준다. 

- 즉, 자주 쓰는 스크립트릿 (<% %>) 을 간단하게 표현하기 위해 쓰는 것이 JSTL 이다. 

 

7. 정적인 데이터