본문 바로가기

JSP/JSP Programming

[JSP] 지시자

반응형

■ 지시자의 형식과 종류
  ① page : 해당 JSP 페이지에 전체에 속성을 지정
  ② include : 현재 페이지에 다른 파일의 내용을 삽입할 때 사용
  ③ taglib : 태그 라이브럴리에서 태그를 꺼내와 사용할 수 있는 기능 제공

 

▶ page 지시자

 page 지시자는 JSP 페이지와 관련된 속성을 설정하고, JSP 컨테이너와 통신을 한다. 예를 들어 JSP 페이지에 사용되는 스크립트 언어를 지정하거나 import할 패키지들을 설정한다.

 속  성

 설                          명

 language

 스크립트릿에 사용되는 스크립트 언어를 기술한다.

 현재 JSP에서 사용할 수 있는 언어로는 JAVA만 가능하다.

 extends

 상속받을 때 사용되며 패키지 이름까지 기술하여 클래스명을 기술해야 한다.

 import

 스크립트 모듈에서 사용될 자바 클래스나 자바 빈 클래스들을 해당 페이지에 불러들일 때 사용한다.

 session

 페이지가 세션에 참여할 것인가 여부를 기술한다.

 true이면 session 변수가 현재 페이지에 대한레퍼런스를 가진다.

 buffer

 문서의 출력할 버퍼의 사이즈를 설정한다.
 none이면 버퍼링을 사용하지 않는다.

 autoFlush

 버퍼의 내용이 자동적으로 플래쉬될 것인지 여부를 기술한다.

 isThreadSafe

 현재 페이지의 스레드 세이프 정도를 기술한다.
 true이면 클라이언트의 여청에 따라 멀티스레드를 만들어 서비스한다.

 디폴트는 true이다.

 info  페이지에 대한 정보를 제공한다.
 서블릿 getServletInfo() 메소드에 해당한다.

 contentType

 JSP 페이지의 마임 타입과 문자 인코딩을 정의한다.

 

 

# 현재 날짜와 시간을 출력하는 프로그램

 today.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import = "java.util.Date" %>    <%--날짜와 객체 모델링한 Date 클래스를 사용하기 위해서 Date 클래스를 포함한다. --%>
<!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=UTF-8">
<title>현재 날짜와 시간을 출력하는 프로그램</title>
</head>
<body>
<%! Date date = new Date(); %>    <%-- Date 클래스를 사용하여 날짜를 출력한다. --%>
오늘은
<%= date.getYear() + 1900 %> 년
<%= date.getMonth() + 1 %> 월
<%= date.getDate() %> 일 입니다.
</body>
</html>

 출력화면

 

 

 


error 처리

 ● errorPage

   errorPage 속성에는 JSP 페이지에서 에러가 발생하였을 때 보여줄 에러 페이지를 설정한다.

<% page errorPage = "error.jsp" %>


 ● isErrorPage

   -. isErrorPage 속성은 현재의 페이지가 에러 페이지인지 아닌지를 설정하기 위한 속성이다.

   -. isErrorPage 속성이 "true"로 설정되어 있으면 현재 페이지가 에러 페이지가 된다.

   -. 현재 페이지가 에러 페이지일 경우는 드물기 때문에 isErrorPage 속성의 기본값은 "false"이다.

 

# 예외를 처리하기

divide.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ page errorPage="error.jsp" %>
<!-- errorPage="error.jsp" : JSP 페이지에서 에러가 발생하였을 때 보여줄 에러 페이지로 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=UTF-8">
<title>예외 처리하기</title>
</head>
<body>
0으로 나누는 것은 불가능합니다.
<%= 2 / 0 %>
</body>
</html>

 error.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page isErrorPage = "true" %>    <!-- 현재 페이지가 에러 페이지임을 설정 -->
<!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=UTF-8">
<title>예외를 처리하기</title>
</head>
<body>
다음과 같은 에러가 발생하였습니다.
<%= exception.getMessage() %>
</body>
</html>

 출력화면

 

 

 

 

 


▶ include 지시자

  -. include 지시자는 현재 페이지에 다른 HTML 문서나 JSP 페이지의 내용을 삽입할 때 사용한다.

  -. include 지시자의 유일한 속성은 file이다. file 속성 다음에는 삽입할 파일의 URL을 지정한다.

 

형 식

 <%@include file = "URL" %>

 

  -. JSP 페이지에 include 지시자를 사용하면 JSP 컨테이너는 file 속성 다음에 기술한 파일을 JSP 파일 안으로 포함시킨다.

 

형 식

<%@include file = "sub01" %>


 

# include 지시자 사용법을 알아보기

main01.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>include 지시자 사용법 알아보기</title>
</head>
<body>
<center>
    <h3>[  include 지시자에 대한 예제  ]</h3>
</center>
<hr/>
    잠시후를 기대해 주세요!!
<hr/>
......<br/>
......<br/>
......<br/>
<%@ include file = "sub01.jsp" %>    <%--sub01.jsp 내용을 현재 페이지인 main01.jsp에 포함시킨다. --%>
<br/>
<br/>
<br/>
main01.jsp 파일로 돌아왔습니다.
</body>
</html>

 sub01.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<center>
<hr/>
<i>sub01.jsp 파일의 시작부분입니다.</i>
<br/>
<br/>
하이! 반가와요.
<br/>
<br/>
<i>sub01.jsp 파일의 마지막 문장입니다.</i>
<hr/>
</center>

 출력화면

 

 




반응형