태그 글목록: JSP Directive

[JSP & Servlet 배경지식] 7. JSP 구성요소 2014-10-25

<구성인자>

> 1. Directive (지시어)

>>> page : JSP 페이지에 대한정보를 명시
-- contentTypes : MIME Type을 명시
ex> 
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
-- import : 사용될 라이브러리를 읽어들임
ex> 
<%@ page import="java.util.*,java.text.*"%>
-- errorPage : 예외 발생시 이동될 페이지 지정
ex> 
<%@ page errorPage="/error/404.jsp" %>
>>> taglib : JSP 페이지에서 사용할 태그 라이브러리를 지정
ex> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
>>> include : JSP 페이지에 다른 문서를 포함시킴
ex> 
<%@ include file="/MyPage.jsp" %>

> 2. Scripting Elements (스크립팅 요소)

>>> Declaration (선언) : 메소드, 멤버변수를 선언함
ex>
<%! private int count; %>
<%! public int incrementCount() { ++count; } %>
>>> Scriptlet (스크립트릿) : 자바코드를 실행함
ex>
<% String text = "TEXT"; out.println(text); %>
>>> Expression (표현식) : 값을 출력함
ex>
<%=text%>

> 3. tag

>>> action tag (액션태그)
* JSP페이지에서 특별한 기능을 제공한다.
* 선언하지 않아도 기본으로 제공된다.
ex> MyPage.jsp 파일에 count 값을 보낸 결과를 인클루드 시킨다.
<%@ include file="/MyPage.jsp" %>
<jsp:include page="/MyPage.jsp">
   <jsp:param name="TEST" value="100" /%>
</jsp:include%>
>>> custom tag (커스텀태그)
* JSP페이지에서 특별한 기능을 제공한다.
* 개발자 원하는 기능을 구현해서 사용할 수 있다.
* JSP에서 중복되는 코드를 모듈화하거나 복잡함을 없애기 위해 사용한다.
ex> 개발자가 정의한 기능을 사용한다.
<%@ taglib prefix="mytag" uri="/taglib/mytag"%>
<mytag:echo name="TEST" value="100" /%>
>>> JSTL(JSP Standard Tag Library)
ex> cookie 값에 따른 자바스크립트 실행
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:if test="${empty cookie.uuid.value}">
   <script type="text/javascript">
      alert("Hello !");
   </script>
</c:if>

<기본제공 객체>

선언없이 JSP페이지에서 사용할 수 있는 객체들의 종류이며 <JEE6-API> 에서 해당 객체에 대한 설명을 확인 할 수 있다.

> 1. application

* web application 전체의 정보 객체
* javax.servlet.ServletContext

> 2. config

* 현재 페이지의 설정정보 객체
* javax.servlet.ServletConfig

> 3. session

* 현재 사용자의 세션정보 객체
* javax.servlet.http.HttpSession

> 4. request

* 클라이언트로부터 전송받은 요정정보 객체
* javax.servlet.ServletRequest의 서브클래스

> 5. response

* 클라이언트에게 전송할 응답정보 객체
* javax.servlet.ServletResponse의 서브클래스

> 6. page

* 현재 페이지를 구현한 자바클래스 인스턴스 객체
* java.lang.Object

> 7. pageContext

* 현재 페이지의 정보 객체
* javax.servlet.jsp.PageContext

> 8. out

* 현재 페이지에서 생성한 결과를 출력할때 사용되는 객체
* javax.servlet.jsp.JspWriter

> 9. exception

* 현재 페이지에서 발생한 익셉션, 에러처리 객체
* java.lang.Throwable

<참고문서>

> JSP 페이지에서 사용되는 각종 태그와 사용샘플이 정리된 문서를 확인하도록 하자.

* 다운로드 링크 : <Java Server Pages Syntax version 1.2>