본문 바로가기

[Java] JSP page Directive

java/jsp by 낼스 2014. 5. 7.

(1) info 속성

 <%@ page info=""Bang's Platform"" %>
 info 속성은 해당 JSP 페이지를 설명해주는 문자열을 기술하는 속성으로
속성값의 내용이나 문자열의 길이 제한은 없다.
이 속성은 설정하지 않아도 해당 JSP페이지의 처리에는 아무 영향을 끼치지 않는다.

(2) language 속성

  <%@ page language=""java"" %>
 language 속성은 JSP페이지의 스크립트에서 사용할
프로그램 언어를 지정하는 속성으로, 생략이 가능하다.
생략시 디폴트로 java가 지정된다.
JSP 2.0버젼까지 스크립트 언어로서 java만을 지원한다.

(3) contentType 속성
 contentType 속성은 JSP 페이지의 내용이
어떤 타입의 문서로 생성되는지를 지정하는 속성이다.
즉, 사용자 요청에 대한 응답 결과가 어떤 형태로 출력되는지를
MIME Type으로 지정하는 속성이다.

  <%@ page contentType=""text/html"" %>
지정할 속성값으로는 text/html, text/plain, text/xml등
여러 가지 형태의 문서를 생성할 수 있으며 기본값은 text/html이다.
text/html은 응답결과를 html 문서형식으로 생성해서 출력하겠다는 의미이다.

  <%@ page contentType=""text/html; charset=eur-kr"" %>
contentType 속성에는 응답결과를 보여줄 떄 사용할 문자의 인코딩을 지정할 수 있는데
이때 charset이라는 것을 사용한다.
charset의 기본값은 ISO-8859-1(서유럽 언어)이고 한글로 된 문서를 생성할 때에는
eur-kr을 사용한다.
즉, 웹 브라우저에 표시되는 한글이 깨지지 않게 하려면 반드시
'charset=eur-kr'로 설정해야 한다.

(4) extents 속성

   <%@ page extends=""com.samsung.ClassName"" %>

   //com.samsung.ClassName 클래스를 상속하겠다는 의미이다.
 extents 속성은 JSP 페이지가 상속받을 클래스를 지정하는 속성으로 JSP페이지가
서블릿으로 변환(파싱)되는 과정에서 상속받을 클래스를 지정할 때 사용된다.
그러나 사실 이 작업은 잘 사용되지 않는 작업인데
이유는 JSP 컨테이너가 알아서 적절한 클래스들을 상속시켜 변환하여 주기 때문이다.
따라서 이 extends 속성은 사용할 일이 거의 없을 정도로 잘 사용되지 않는 속성이다.

(5) import 속성

  <%@ page import=""java.util.*, java.sql.*"" %>

     <%@ page import=""java.io.*"" %>

   //여러개의 패키지를 쉼표로 구분해서 사용할 수 있다.

   //page 디렉티브의 속성을 여러번 기술해서 사용할 수 있다.
 JSP 페이지 내에서 클래스명을 풀네임(패키지명을 포함하는 클래스명)으로
사용하지 않기 위해 다른 클래스를 가져와서 사용하는 경우에 import 속성을 사용한다.
다른 패키지에 있는 클래스를 가져다 쓸 때 사용되는 속성으로 자바의 import 문과 같다.
import 속성은 page 디렉티브 중에 유일하게 한 페이지 내에 여러번 기술이 가능한 속성이다.

(6) session 속성

 <%@ page session=""false"" %>
  session 속성은 해당 JSP 페이지가 HttpSession을 사용할지 여부를 지정하는 속성으로
이 속성의 속성값은 ""true"" 또는 ""false""의 값을 갖는다.
session 속성의 속성값이 ""true""일 경우에는 현재의 JSP 페이지가 세션을 사용하는 것으로
세션을 유지하고 만일 세션이 존재하지 않을 경우는 새로운 세션을 생성하여 연결한다.
session 속성의 속성값이 false일 경우에는 세션을 사용하지 않는다.
session 속성의 기본값은 true로 session 속성을 기술하지 않으면 자동으로
session 속성의 속성값이 true로 지정된다.

(7) buffer 속성

 <%@ page buffer=""8kb"" %>
  buffer 속성은 JSP 페이지의 출력 버퍼의 크기를 지정하는 속성으로 기본값은 8kb이다.
buffer 속성의 속성값을 none으로 지정하면 이것은 출력버퍼를 사용하지 않는다는 의미로
JSP페이지가 웹 브라우져에 출력 내용이 출력 버퍼를 거치지 않고 바로 웹 브라우져에 출력된다.
buffer의 기본값인 8bk로 거의 대부분의 출력크기로 충분하지만
더 많은 내용을 출력하고자 한다면 이에 맞게 크기를 늘려주면 된다.

(8) autoFlush 속성

 <%@ page autoFlush=""false"" %>
  autoFlush 속성은 JSP 페이지의 내용들이 웹 브라우져에 출력이 되기 전에
출력 버퍼가 다 찼을 경우 저장되어 있는 내용들을 어떻게 처리할지를 지정하는 속성이다.
만일 autoFlush 속성의 속성값을 true로 설정하면 버퍼가 다 찼을 경우 자동적으로 버퍼의 내용이
웹 브라우져에 출력되고 출력 버퍼는 비워지게 된다.
autoFlush 속성의 기본값은 true이며, buffer 속성의 값을 none으로 설정한 경우
autoFlush 속성값을 false로 설정할 수 없다.
버퍼를 사용하지 않기 때문에 출력할 내용을 화면에 바로바로 표시해야 하기 때문이다.

(9) isThreadSafe 속성

 <%@ page isThreadSafe=""false"" %>
  isThreadSafe 속성은 JSP 페이지에서 다중쓰레드(Thread)를 사용할 수 있는가를 지정하는 속성으로
기본값은 true이다. JSP페이지에서는 하나의 요청을 하나의 쓰레드로 처리하기 때문에 한 페이지에서
여러 사용자의 요청을 동시에 받아들일 수 있게 되어 있다.
isThreadSafe 속성값이 true로 설정되어 있는 경우 해당 JSP 페이지가 여러 사용자의 요청을
동시에 받아들일 수 있다는 의미이다.
만일 속성값을 false로 설정해놓으면 다수의 사용자의 요청을 동시에 처리하지 않고
요청한 순서대로 처리하므로 웹 브라우져의 요청을 처리하는데 많은 시간이 걸린다.
이 속성은 ""쓰레드의 프로세스화""라고 불리는 것으로 JSP의 장점인 다중쓰레드를 사용할 수 없어서
처리속도가 떨어진다. 가급적이면 사용하지 않는 것이 좋다.

(10) errorPage 속성

 <%@ page errorPage=""errorPage.jsp"" %>
  errorPage 속성은 JSP 페이지를 처리하는 도중에 해당 페이지에서 예외(Exception)이 발생할 경우
예외를 처리할 페이지를 지정하는 속성이다.
errorPage 속성은 해당 페이지에서 예외를 처리하지 않고 errorPage 속성값으로 지정한 다른 페이지에서
예외를 처리한다. 그러나 JSP 2.0에서는 위의 예와 같은 방법으로 예외를 처리하지 않는다.
실제로 Tomcat의 버젼이 5.5.9 이상이 넘어가게 되면 위의 속성을 인식하지 못하는 경우가 발생한다.
원래 JSP 2.0 버젼에서의 예외 처리는 web.xml 파일에서 <error-page> 태그를 사용하여 처리하도록 권하고있다.

(11) isErrorPage 속성

 <%@ page isErrorPage=""true"" %>
  isErrorPage 속성은 현재 JSP 페이지가 일반적인 페이지인지
예외를 처리하는 페이지인지를 지정할 때 사용되는 속성이다.
요청된 현재의 페이지가 발생된 예외를 처리하는 페이지이면 isErrorPage 속성의 속성값을 true로 설정한다.
기본적으로 일반적인 JSP 페이지는 예외를 처리하는 페이지가 아니므로
isErrorPage 속성의 기본값은 false이다.
위의 예는 현재의 페이지가 예외를 처리하는 페이지라는 의미를 갖는다.
errorPage 속성에서 예외를 처리할 것으로 명시된 페이지에서 기술하는 속성으로
현재는 별로 사용되지 않는다.

(12) pageEncoding 속성

 <%@ page pageEncoding=""euc-kr"" %>
  pageEncoding 속성은 JSP 페이지에서 사용하는 문자(character)의 인코딩을 지정할 때 사용되는 것으로
생략시 기본값으로는 ISO-8859-1을 사용한다. 한글을 처리시에는 EUC-KR을 사용한다.

 <%@ page contentType=""text/html"" pageEncoding=""euc-kr"" %>
위의 예시는 아래의 contentType 속성의 값을 지정해 준 것과 같은 결과를 갖는다.

  <%@ page contentType=""text/html; charset=euc-kr"" %>


여기에 정리된 것들은 '은노기의 JSP 웹프로그래밍 입문'(저자 김은옥)을
공부하면서 정리해놓은 것들입니다.


'java > jsp' 카테고리의 다른 글

escape html tag  (0) 2019.08.29

댓글