개발/JSP

[JSP] JSP (JavaServer Pages ) 구성요소

버물버물리 2017. 11. 13. 01:45



JSP (JavaServer Pages ) 구성요소 


JSP 구성요소는 크게 6가지가 있다.

1. 스크립트(Script) 요소

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

3. 내장객체 (Implicit Object)

4. 액션태그(Action Tag)

5. 표현언어 (Expression Language)

6. 사용자 정의 태그, JSTL


아래에서 하나하나 살펴 보도록 하겠다.

현재 포스팅에서는 구성요소별 간단한 정의만 다뤘으며 각 구성요소별 디테일한 내용은 추후 포스팅에서 하나하나 포스팅하도록 하겠다. 


스크립트(script)요소

스크립트요소는 페이지의 동적데이터를 생성하며 3가지로 분류한다.

  1 

  스크립트릿

  <% .. %>

  JSP 페이지 내부에 자바(JAVA) 소스코드를 삽입한다.

 2

  표현식

  <%= ... %>

  출력결과(HTML 요소내) 에  값(value) 를  넣기위해 사용한다.

 3

  선언

  <%! ... %>

  JSP 페이지 내부에 자바 메소드 (JAVA method) 를 선언한다 




지시어(디렉티브:directive)

지시어는 JSP에 대한 설정 정보 또는 JSP 페이지에 다른문서를 포함(include) 시킬때 사용한다.

지시어는 아래와같이 분류 할수 있다.

 1

 <%@ page ... %>      

 스크립트언어 , 에러페이지 지정, 버퍼 설정 등 을 정의한다.

 2

 <%@ include ... %>

 번역단계에서 다른문서를 포함시킨다.

 3

 <%@ tablib ... %>

 태그 라이브러리 를 선언한다.




내장객체(Implicit Object)

JSP 컨테이너에 의해 개발자 들이 명시적으로 선언하지 않고 바로 사용할 수 있는 자바객체이며   사전 정의된 객체를 뜻한다.

  1 

 request

  클라이언트에서 서버로 보내지는 요청과 관련된 객체

 2

 response

  서버에서 클라이언트로 보내지는 응답과 관련된 객체

 3

 out 

  출력을 클라이언트로 보내는 객체 

 4

 session

  서버측 웹컨테이너 에 사용자의 상태를 관리하는 객체 

 5

 application

  어플리케이션 전반에 걸친 정보를 관리하는 객체

 6

 config

  페이지와 관련된 서블릿 설정 (servlet config)  객체

 7

 pageContext

  현재 페이지의 내용을 저장하고 있는 객체

 8

 page

  페이지에 대한 실제 인스턴스 (자바클래스) 를 저장하고 있는 객체

 9

 Exception

  이전 페이지의 에러를 저장하고 있는 객체




액션태그 (Action Tag)

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

  1 

 jsp:include

  페이지가 요청될때 해당 태그가 위치한 곳에 파일을 포함시킨다.

 2

 jsp:useBean 

  javaBean 을 찾고 인스턴스화 한다.

 3

 jsp:setProperty

  javaBean 의 프로퍼티를 설정한다.

 4

 jsp:getProperty

  javaBean 의 프로퍼티를 가져온다.

 5

 jsp:forward

  하나의 jsp 페이지 에서 다른 jsp 페이지 로 강제이동 시킨다. 

 6

 jsp:plugin

  javaBean 또는 Applet 을 현재 jsp 페이지 에 포함시킬때 사용한다.

 7

 jsp:element

  XML 태그를 동적으로 정의한다.

 8

 jsp:attribute

  동적으로 정의된 XML 태그의 속성을 정의한다.

 9

 jsp:body

  동적으로 정의된 XML 태그의 본문을 정의한다.

 0

 jsp:text

  JSP 페이지와 문서에 템플릿 텍스트를 쓰는데 사용한다.




표현언어(Expression Language )

스크립트 요소의 사용없이 JSP 페이지에 값을 표현할수 있는 태그 기반의 새로운 언어이다.

기본문법은 ${expr} 이며 표현언어의 포현식에는 정수, 부동수소점 수 , 문자열, 부울값,에 대한 참거짓, 내장null을 사용할수있다.

표현언어는 별도로 다시 블로고 포스팅을 하도록 하겠다.




사용자 정의 태그 , JSTL

JSP 가 제공해주는 태그 외에 사용자가 별도로 정의하여 사용할수 있는 태그이며 JSTL 또한 사용자 정의 태그에 속한다.

JSTL (JSP Standard Tag Libary) 는 자바언어의 조건문, 반복문과 같은 프로그래밍 요소를 태그로 구현할수 있게 해준다.

JSTL 의 코어태그 (Core Tag ) 는 아래와 같다.

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



참조 ) 

https://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm