JSP 페이지의 구성 요소
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. 정적인 데이터