디렉티브는 JSP 페이지에 대한 설정 정보를 지정할 때 사용되며, 다음과 같은 구문을 통해서 디렉티브를 선언할 수 있다.
<%@ 디렉티브이름 속성1="값1" 속성2="값2" ... %>
"<%@" 로 시작하고 그 뒤에 디렉티브 이름이 위치하고 사용하려는 디렉티브에 따라서 알맞는 속성과 값이 위치하며 "%>"로 디렉티브 선언을 마친다.
<%@ page contentType="text/html; charset=utf-8" %>
여기서는, 디렉티브 이름이 page가 되고 contentType이라는 속성을 사용했으며, contentType속성의 값은 "text/html; charset=utf-8"이 된다.
page
JSP 페이지에 대한 정보를 지정한다. JSP가 생성하는 문서의 타입, 출력 버퍼의 크기, 에러 페이지 등 JSP 페이지에서 필요로 하는 정보를 입력한다.
taglib
JSP 페이지에서 사용할 태그 라이브러리를 지정한다.
include
JSP 페이지의 특정 영역에 다른 문서를 포함시킨다.
JSP에서 실시간으로 문서의 내용을 생성하기 위해 사용되는 것이 스크립트 요소이다. 스크립트 요소를 사용하면 사용자가 폼에 입력한 정보를 데이터베이스에 저장할 수 있으며, 데이터베이스로부터 게시글 목록을 읽어와 출력할 수도 있다. 또한, 스크립트를 사용하면 자바가 제공하는 다양한 기능들도 사용할 수 있다.
JSP는 웹 어플리케이션 프로그래밍을 하는 데 필요한 기능을 제공 해주는 기본 객체를 제공해주고 있다. 기본 객체로는 request, response, session, application, page 등 다수의 기본 객체가 존재하는데, 이들은 각각 요청 파라미터 읽어오기, 응답 결과 전송하기, 세션 처리하기, 웹 어플리케이션 정보 읽어오기 등의 기능을 제공한다. 이들 중 request, session, response 기본객체가 주로 사용된
다.
표현식과 스크립트릿을 사용하는 데 불편함을 해결하기 위해 나온 것이 표현언어(Expression Language; EL)이다. 표현언어는 스크립트릿과 표현식 대신에 쉽고 간단하게 사용할 수 있다.
액션 태그는 XML의 태그와 같은 모양을 취하며, JSP 페이지에서 특별한 기능을 제공한다. 액션 태그는 <jsp:액션태그이름>의 형태를 띠며 액션 태그 종류에 따라서 서로 다른 속성과 값을 갖게 된다.
커스텀 태그는 JSP를 확장시켜 주는 기능으로서, 액션 태그와 마찬가지로 태그 형태로 기능을 제공한다. 액션 태그와 차이점이 있다면 커스텀 태그는 개발자가 직접 개발해 주어야한다는 것이다.
커스텀 태그 중에서 자주 사용되는 것들을 별도로 표준화한 태그 라이브러리가 있는데 이것이 바로 JSTL이다. JSTL은 if-else의 조건문과 for 구문과 같은 반복 처리르 커스텀 태그를 이용해서 구현할 수 있도록 해준다.