1.JSP 지시어(Directive)
1)page 지시어(language, extends, import, session, buffer, isThreadSafe, info, errorPage, contentType, isErrorPage, pageEncoding) import속성을 제외한 나머지 속성은 한번씩만 지정 할수 있음. 속성 - (스크립트 언어, 세션 사용여부, 에러 페이지등 설정 정보를 지정 가능) (1)language속성 -JSP 파일 내에서 사용될 스크립트 언어를 지정하는 속성 (지정하지 않을경우, JSP컨테이너가 지원하는 기본 언어인 자바가 language 기본 속성으로 지정됨) ※주의점 : language속성과 include할 페이지의 language가 반드시 같아야 함. <%@ page language="java" %> (2)extends 속성 -상속할 부모 클래스 지정하는 속성 (JSP 컨테이너에서 특별히 지정하는 경우는 거의 없다.) <%@ page extends="javax.servilet.jsp.HttpJspBase" %> (3)import 속성 -언어에 대한 패키지 또는 클래스 연결 하기 위해 사용 <%@ import "java.io.*", java.util.ArrayList" %> (4)session 속성 -동일한 클라이언트에 대해 정보를 유지할 필요가 있는 경우 사용 (예를 들어 로그인 상태 유지) 세션관리에 의해 클라이언트의 정보가 유지되도록 만들어진 가상의 커넥션을 HTTP 세션이라고 함. <%@ page session="true" %> (5)buffer 속성 -JSP 페이지가 서블릿으로 변환되어 응답을 생성해 클라이언트에 전송할 때 사용되는 버퍼의 크기를 지정하는 속성. 일반적으로 기본값인 "8kb"면 충분 <%@ page buffer="16kb" %> (6)autoFlush 속성 -autoFlush 속성은 buffer속성에서 지정한 버퍼가 다 채워졌을 경우 이를 어떻게 처리할지 JSP 컨테이너에게 알려주는 속성. 기본값은 "true" false로 지정할시 지정한 버퍼가 다 채워 졌을 경우 버퍼를 전송하는 것이 아니라 Exception을 발생 만일 buffer 속성에서 "none"으로 지정했을 경우 autoFlush속성을 "false"로 지정하는 것이 불가능함. <%@ page autoFlush="true" %> (7)isThreadSafe 속성 -기본적으로 JSP는 다중 쓰레드 기반으로 실행. (JSP파일 > JSP컨테이너에 의해 파싱되어 서블릿 인스턴스가 생성되고 사용자 요청 각각에 대한 쓰레드가 하나씩 생성되어 그 쓰레드가 사용자의 요청을 처리하는 방식) -속성 "false"로 지정하면 JSP파일이 실행되더라도 하나의 쓰레드에 의한 service()메소드 실행이 완전히 끝날때까지 다른 쓰레드는 기달리게 된다. default = "ture" <%@ page isTheadSafe="true" %> (8)info 속성 -해당 페이지 전체에 대한 주석의 역할을 하는 속성 <%@ page info="이 페이지는 이클립스로 만들어진 페이지입니다." %> (9)errorPage 속성 -errorPage속성은 JSP 페이지를 처리하는 과정에서 예외 발생했을 때 해당 페이지에서 직접 처리하지 않고 에러 페에지를 지정해 그 에러 페에지에서 예외를 처리하도록 할때 사용하는 속성. <%@ page errprPage="errpr/error.jsp" %> ※주의점 : buffer속성에 특정 값이 지정되어 있고 autoFlush가 "true" 에러가 아닌 예외처리 됨. (10)contentType 속성 -JSP 페이지가 전송 할 응답의 형태가 어떠한 MIME 형식으로 되어 있는 지를 지정하는 속성. <%@ page contentType="text/html"; charset:euc-kr" %> (11) isErrorPage 속성 -isErrorPage 속성은 현재 페이지가 다른 페에지에서 발생한 예외을 처리할 페이지일때 지정하는 속성 (12)pageEncoding 속성 -JSP 페이지의 문자셋 인코딩 방식을 지정할 때 사용하는 속성 기본값으로 "ISO-8859-1" <-- 북유럽 문자셋 인코딩 방식(한글 지원 X) "euc-kr" <--- 한글깨짐현상 시 필히 확인할 것. ※문자셋은 pageEncoding 속성을 사용해서 지정할 수도 있지만 보통 pageEncoding 속성을 사용하지 않고 위에서 contentType 속성을 지정할때 한것처럼 한번에 지정하여 사용함. |