Home » JSP – 3. JSP 기본요소 (1)

JSP – 3. JSP 기본요소 (1)

3.1. JSP주석 및 지시자

3.1.1 주석

  • 한 마디로 사용자 편의를 위해서 제공되는 기호이다. 프로그래밍을 하다 보면 함수가 너무 많아서 구분하기 어려울 때 각 함수마다 설명을 달아 주기 위해 사용되기도 하고, 필요 없는 프로그래밍 내용을 실행하지 않도록 막아주는 역할을 하기도 한다. 프로젝트가 컴파일 될 때는 주석 부분이 무시 되기 때문에 프로젝트에 영향을 주지는 않는다. 주석 기호는 // /**/ <!- - 등 다양하다.

3.1.2 예제

[Jsp_anotation.jsp]

[JSP 주석 출력]

그림 30. JSP 주석 테스트 페이지

3.1.2 지시자

  • 지시자(Directive)란 JSP컨테이너에 해당 페이지에 대한 특수한 처리 정보를 넣고자 할 때 사용된다. 예를 들어 이 페이지에서 사용될 스크립팅 언어를 지정한다든지, 다른 페이지를 포함시킨다든지 그리고 커스텀 태그 라이브러리를 지정하는 등의 기능을 한다. 지시자 태그의 내용은 클라이언트로 전송되지 않으며 JSP컨테이너에게만 전달된다.

  • 지시자 종류에는 page 지시자, include 지시자, taglib 지시자 세 가지가 있다.

3.1.3 Page directive

1. Info

페이지의 역할을 설명해주는 도큐먼트 문자열을 추가. 
  
예). <%@ page info="QIS 구축 TFT시스템, Copyright 2010" %>

2. language

페이지에서 사용할 스크립팅 언어를 지정할 때 사용합니다. 기본으로 “java”를 사용.
예). <% page language="java" %>

3. contentType

jsp 페이지가 생성하는 응답의 MIME 타입을 지정합니다. MIME 타입도 그 종류가 대단히 많지만 주로 사용하는 MIME는 “text/html”, “text/xml”, “text/plain” 등이 있다.
예). <% page contentType="text/html; charset=iso-8859-1" %>
 

4. pageEncoding

새로 도입된 방법으로 contentType의 charset과 같은 기능을 한다.
      
예). <% page pageEncoding="ios-8859-1" %>   


5. extends

jsp 서블릿 클래스가 상속받을 슈퍼클래스를 지정.
예). <% page extends="info.mylt.myJspPage" %>


6. Import

중복해서 사용할 수 있는 속성이며 jsp 페이지에서 참조할 자바 클래스를 확장한다.
      
예). <% page import="java.jwt.*" %>             

7. session

jsp페이지가 세션관리에 가담할지를 결정합니다. 기본값이 “true”이기 때문에 세션관리에 자동으로 가담하게 된다.
      
예). <%@ page session="true" %>


8. Buffer

출력 버퍼링을 조정.
      
예). <%@ page buffer="12kb" %>  // 12kb 크기의 버퍼를 지정


9. autoFlush

buffer속성과 밀접한 관계가 있는 속성으로 버퍼를 자동으로 비울 것인가를 판단하는 속성.
      
예). <%@ page autoFlush="true" %>


10. isThreadSafe

이 속성은 jsp 페이지가 서블릿으로 컴파일 될 때 여러 개의 동시요청에 응답할 수 있는 기능을 넣느냐를 결정하는 속성.
        
예). <%@ page isThreadSafe="true" %>


11. errorPage

jsp에서 처리하지 못하는 오류가 발생할 때 기본 에러페이지를 사용하지 않고 특정 페이지를 사용하고자 할 때 사용.
          
예). <%@ page errorPage="url" %>
12. isErrorPage 해당 페이지가 에러 페이지로 작동하도록 할 때 사용.
         
<%@ page isErrorPage="true" %>

3.1.4 Include directive

예) <%@ include file=”파일URL” %> 혹은 <jsp.directive.include file=”파일URL” />

3.1.5 Taglib directive

  • 태그 라이브러리는 jsp 기능을 확장하기 위해 사용될 수 있는 커스텀 태그를 모아놓은 것.

예) <%@ taglib url=”태그 라이브러리 URL” prefix=”태그 라이브러리 이름” /> 혹은
<jsp:directive.taglib url=”태그 라이브러리 URL” prefix=”태그 라이브러리 이름”/>

3.1.6 예제


그림 29. 지시자 테스트 프로젝트 구성

[Jsp_directive.jsp ]

  • page지시자는 페이지의 속성에 대해 설정 하는 내용들을 담고 있는데, Langeuage = “java” 는 사용할 스크립팅 언어가 java임을 명시 해주는 것이고,
    contentType=”text/html; charset=UTF-8”는 클라이언트 브라우저로 JSP 페이지를 보낼 때 이 페이지의 종류가 어어떤 종류의 페이지인지 나타내는 mime타입으로 text/html 을 썼고, 글자 셋팅을 UTF-8로 정의함.

  • Import=”java.util.Clendar”는 페이지에서 참조할 자바 클래스를 확장했고, Session=”false”는 이 페이지에서 세션관련 작업을 하지 않겠다는 설정이고, Buffer=”none”은 buffer 설정에 관여하지 않겠다는 뜻이고, autoFlush=”true”로 버퍼를 자동으로 비우겠다는 뜻이고, info=”JSP 기본요소 설명 페이지입니다.”는 페이지를 소개하는 속성.

  • errorPage=”/Chapter1_basicJSP/directive/error.jsp”는 에러가 발생할 시에는 error.jsp를 브라우저에 띄우겠다는 설정이고, isErrorPage=”false”는 이 페이지가 에러페이지가 아님을 나타냈고,pageEncoding=”UTF-8”로 페이지의 인코딩을 정의함.

  • 두 번째로는 include 지시자 인데, 페이지를 포함 할 때 사용하는 지시자로써 지금 예제 코드에서는
    <%@ include file="/directive/add.jsp" %>로 add.jsp페이지를 포함을 선언.

  • 마지막으로 taglib 지시자에 선언된 URL인 “/directive/MsgTag.tld”는 webcontent 밑에 선언된 tld파일로 태그라이브러리에 대해 설정하고 있으며, 태그라이브러리에 대한 클래스 파일을 가르키고 있다.

[Error.jsp]

[Add.jsp]

[MsgTag.tld]

[MsgTagHandler.java]

그림 31. 지시자 테스트 페이지 출력