[JSP] 4. JSP 구성요소
JSP 구성요소
4. JSP 구성요소 6가지
스크립트(Script) 요소
지시어(디렉티브:Directive)
내장객체(Implicit Object)
액션태그(Action Tag)
표현언어(Expression Language)
사용자 정의 태그와 JSTL
자세히 용어나 알고 사용하시는 분들은 당연한 내용들이지만,
난 아닌 것 같다…
4-1. 스크립트(Script) 요소
스크립트 요소는 JSP 페이지에 자바코드를 삽입할 때 세 가지로 구분된다.
no | 요소 | 표현 | 설명 |
---|---|---|---|
1 | 스크립트릿 | <%…..%> | JSP 페이지에 자바프로그램 코드 삽입 |
2 | 표현식 | <%=…..%> | 변수, 수식의 값을 JSP 페이지에 출력할 떄 사용 |
3 | 선언 | <%!…..%> | JSP 페이지에 자바 메소드를 삽입 |
4-2. 지시어(디렉티브:Directive)
JSP페이지 대한 설정 정보를 지정할 떄 사용한다.
no | 표현 | 설명 |
---|---|---|
1 | <%@ include…%> | JSP 페이지의 특정 영역에 다른 문서를 포함 |
2 | <%@ page…%> | JSP 페이지에 대한 정보를 설정. JSP가 생성하는 문서의 타입, 출력 버퍼의 크기, 에러 페이지 등 JSP 페이지에서 필요한 정보를 입력한다. |
3 | <%@ tablib…%> | JSP 페이지에서 사용할 태그 라이브러리를 지정한다. |
4-3. 내장객체(Implicit Object)
JSP에는 웹 프로그래밍에 많이 사용되는 기능을 구현해 놓고 객체 형태로 제공되는 것을 내장객체라 한다.
no | 요소 | 설명 |
---|---|---|
1 | request | 클라이언트에서 서버로 보내지는 요청과 관련된 객체 |
2 | response | 서버에서 클라이언트로 보내지는 응답과 관련된 객체 |
3 | out | 출력을 클라이언트로 보내는 객체 |
4 | session | 서버측 웹컨테이너 에 사용자의 상태를 관리하는 객체 |
5 | application | 어플리케이션 전반에 걸친 정보를 관리하는 객체 |
6 | config | 페이지와 관련된 서블릿 설정 (servlet config) 객체 |
7 | pageContext | 현재 페이지의 내용을 저장하고 있는 객체 |
8 | page | 페이지에 대한 실제 인스턴스 (자바클래스) 를 저장하고 있는 객체 |
9 | Exception | 이전 페이지의 에러를 저장하고 있는 객체 |
4-4. 액션태그(Action Tag)
액션태그는 XML 문법을 서블릿엔진을 제어한다.
no | 요소 | 설명 |
---|---|---|
1 | jsp:include | 페이지가 요청될때 해당 태그가 위치한 곳에 파일을 포함시킨다. |
2 | response | 서버에서 클라이언트로 보내지는 응답과 관련된 객체 |
3 | out | 출력을 클라이언트로 보내는 객체 |
4 | session | 서버측 웹컨테이너 에 사용자의 상태를 관리하는 객체 |
5 | application | 어플리케이션 전반에 걸친 정보를 관리하는 객체 |
6 | config | 페이지와 관련된 서블릿 설정 (servlet config) 객체 |
7 | pageContext | 현재 페이지의 내용을 저장하고 있는 객체 |
8 | page | 페이지에 대한 실제 인스턴스 (자바클래스) 를 저장하고 있는 객체 |
9 | Exception | 이전 페이지의 에러를 저장하고 있는 객체 |
4-5. 표현언어(Expression Language)
표현 언어는 내장 객체와 함께 사용할 수 있는 태그 기반의 새로운 언어로 스크립트 요소 없이 프로그래밍이 가능한다.
예를 들어
스크립트 언어
2 더하기 2는
<%
out.print(2 + 2);
%>
입니다.
표현 언어
2 더하기 2는 ${2 + 2} 입니다.
4-6. 사용자 정의 태그와 JSTL
사용자 정의 태그(Custom Tag)는 JSP에서 제공되는 태그들 이외에 사용자가 정의하여 사용할 수 있는 태그이다.
표준화한 태그 라이브러리를 JSTL(JSP Standard Tag Library)이라고 한다. 웹개발 시 흔히 보는 JSTL 구문들이다.
no | 요소 | 설명 |
---|---|---|
1 | < c:out > | <%=……%> 와 유사하며 표현식에 사용된다. |
2 | < c:set > | JSP 에 사용될 변수를 지정하며 범위를 설정할 수 있다. |
3 | < c:remove > | 변수를 제거한다. ( 범위를 설정한 경우 해당 범위내의 변수를 제거 ) |
4 | < c:catch > | 에러 (Exception) 를 캐치하고 이를 처리한다. |
5 | < c:if > | 조건이 참일 경우 본문 포함된다. |
6 | < c:choose > | 조건태그 이며 배타적인 조건부 연산에 사용된다. |
7 | < c:when > | choose 태그가 사실일경우 본문에 포함된다. |
8 | < c:otherwise > | choose 태그가 거짓일경우 본문에 포함된다. |
9 | < c:import > | 설정된 url 의 자원을 삽입한다. |
10 | < c:forEach > | 컬렉션 또는 Map 과 같은 유형을 허용하고 이를 반복처리한다. |
11 | < c:forTokens > | 설정한 구분자로 분리된 토큰을 반복한다. |
12 | < c:param > | import 태그에 설정된 url 에 파라미터를 추가한다. |
13 | < c:redirect > | 새로운 url 로 리다이렉트 시킨다. |
14 | < c:url > | URL 를 재생성한다. |
다들 개발하면서는 사용할 줄 알고 책에도 많이 나오고 위 내용들을 쉽게 접하지만, 키워드로 보기 쉽게 먼저 정리한분들이 고생이 많으시다.
출처