2013년 7월 10일 수요일

(130710) 13일차 second.jsp, error.jsp (Directive 지시어 설명, page 지시어 설명 및 errorPage 테스트)

 - Directive 지시어
 : JSP에 대한정보를 담고 있는 것.
 : <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
 : <%@  여기에 directive를 작성  %>
 : page, include, taglib 세 개의 directive 를 쓸 수 있다.
 : page - 그 jsp 페이지에 대한 다양한 옵션을 설정한다.
 : include - 컴파일 시에 include된 파일을 읽어 현재 페이지의 한 부분으로 포함시켜 하나의 소스로 만들어 컴파일 한다.
 : tablib - Jsp 태그를 확장하게 한다. 


 - <%@ page … %>
 : 그 jsp 페이지에 대한 다양한 옵션을 설정한다.
 : 여러 개의 page directive를 사용할 수 있다.
<%@ page 
language = "java"
import = "younginc.*, java.sql.*, java.util.*"
session = "true" (클라이언트에 대한 정보를 저장하는 서버측의 저장 공간 <-> 쿠키는 클라이언트측에 저장되는 저장공간)
isThreadSafe= "true" (JSP는 쓰레드를 기본으로 사용)
buffer = "16kb"
autoFlush = "true"
isErrorPage= "false" 
errorPage= "JspError.jsp"
extends = "SuperClass" (상속 받을 때 사용)
info = "이 jsp에 대한 정보를 표시합니다."
contentType = "text/html"
%>


 - second.jsp (page 지시어의 errorPage 테스트 소스)
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR" errorPage="error.jsp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
out.println(10/0); // 디비전 에러
%>
</body>
</html>


 - error.jsp  (page 지시어의 errorPage 테스트 소스)
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
이 페이지는 에러입니다.
</body>
</html>


 - 결과