[JSP] 4. JSP 구성요소



JSP 구성요소



4. JSP 구성요소 6가지


  1. 스크립트(Script) 요소

  2. 지시어(디렉티브:Directive)

  3. 내장객체(Implicit Object)

  4. 액션태그(Action Tag)

  5. 표현언어(Expression Language)

  6. 사용자 정의 태그와 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요소설명
1request클라이언트에서 서버로 보내지는 요청과 관련된 객체
2response서버에서 클라이언트로 보내지는 응답과 관련된 객체
3out출력을 클라이언트로 보내는 객체
4session서버측 웹컨테이너 에 사용자의 상태를 관리하는 객체
5application어플리케이션 전반에 걸친 정보를 관리하는 객체
6config페이지와 관련된 서블릿 설정 (servlet config) 객체
7pageContext현재 페이지의 내용을 저장하고 있는 객체
8page페이지에 대한 실제 인스턴스 (자바클래스) 를 저장하고 있는 객체
9Exception이전 페이지의 에러를 저장하고 있는 객체


4-4. 액션태그(Action Tag)


액션태그는 XML 문법을 서블릿엔진을 제어한다.

no요소설명
1jsp:include페이지가 요청될때 해당 태그가 위치한 곳에 파일을 포함시킨다.
2response서버에서 클라이언트로 보내지는 응답과 관련된 객체
3out출력을 클라이언트로 보내는 객체
4session서버측 웹컨테이너 에 사용자의 상태를 관리하는 객체
5application어플리케이션 전반에 걸친 정보를 관리하는 객체
6config페이지와 관련된 서블릿 설정 (servlet config) 객체
7pageContext현재 페이지의 내용을 저장하고 있는 객체
8page페이지에 대한 실제 인스턴스 (자바클래스) 를 저장하고 있는 객체
9Exception이전 페이지의 에러를 저장하고 있는 객체


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 를 재생성한다.


다들 개발하면서는 사용할 줄 알고 책에도 많이 나오고 위 내용들을 쉽게 접하지만, 키워드로 보기 쉽게 먼저 정리한분들이 고생이 많으시다.


출처