본문 바로가기

BackEnd/JSP

[JSP 웹 프로그래밍] 디렉티브 태그 1 <%@ ... %>

728x90
반응형

1. 디렉티브 태그

   ▷ JSP 페이지를 어떻게 처리할 것인지를 설정하는 태그

   ▷ JSP 페이지가 서블릿 프로그램에서 서블릿 클래스로 변환할 때

      ▶ JSP 페이지와 관련된 정보를 JSP 컨테이너에 지시하는 메시지

 

 

2. page 디렉티브 태그

   ▷ 현재 JSP 페이지에 대한 정보를 설정하는 태그

   ▷ JSP 페이지의 어디에서든 선언할 수 있지만 일반적으로 JSP 페이지의 최상단에 선언하는 것을 권장

 

◎ page 디렉티브 태그의 속성

 

◎ language 속성

   ▷ JSP 페이지에서 사용할 프로그래밍 언어를 설정하는데 사용

   ▷ 기본 값은 java

<%@ page language="java" %>

 

◎ contentType 속성

   ▷ 현재 JSP 페이지의 콘텐츠 유형(MIME-type)을 설정하는 데 사용

   ▷ 콘텐츠 유형

      ▶ text/html, text.xml, text.plain 등

      ▶ 기본 값은 text/html

 

   ▷ HTML을 출력하는 JSP 페이지는 contentType을 사용할 필요가 없음

 

 

◎  XML 문서로 한글 출력 설정하기


contentType을 "text/xml"로 변경한 후 실행하면 html 코드가 나타납니다.

 

 

◎ pageEncoding 속성

   ▷ 현재 JSP 페이지의 문자 인코딩 유형을 설정하는데 사용

   ▷ 문자 인코딩 유형의 기본 값은 ISO-8859-1

 

 

◎ import 속성

   ▷ 현재 JSP 페이지에서 사용할 자바 클래스를 설정하는데 사용

   ▷ 둘 이상의 자바 클래스를 포함하는 경우 쉼표(,)로 구분하여 연속해서 여러 개의 자바 클래스를 설정

   ▷ 또는 여러 개의 자바 클래스를 각각 별도로 설정할 수도 있음

 

 

◎ Date 클래스를 이용한 현재 날짜 출력 예시

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Directives Tag</title>
</head>
<body>
	<%@ page import="java.util.Date" %>
	Today is <%= new Date() %>

</body>
</html>

<!-- 출력 : Today is Mon Feb 27 16:59:03 KST 2023 -->

 

 

◎ session 속성

   ▷ 현재 JSP 페이지의 HTTP 세션 사용 여부를 설정하는데 사용

   ▷ 기본 값  : 세션을 자동으로 사용하는 true

      ▶ 만약 session 속성 값을 false로 설정할 경우

         → 해당 JSP 페이지에서 내장 객체인 session 변수를 사용할 수 없다는 의미이므로

             해당 페이지에 대해 세션을 유지 관리할 수 없음

 

 

◎ buffer 속성

   ▷ 현재 JSP 페이지의 출력 버퍼 크기를 서정하는 데 사용

   ▷ 속성 값 : none과 '버퍼 크기'로 설정

      ▶ 버퍼 크기 : 출력 버퍼에 먼저 기록한 후 웹 브라우저로 보냄

 

◎ autoFlush 속성

 

◎ isThreadSafe 속성

 

◎ info 속성

 

 

◎ errorPage 속성

 

◎ errorPage 실습 예제 1


str 변수에 값이 없기 때문에 에러가 나타나면서 출력이 되지 않습니다.

 

◎ errorPage 실습 예제 2

1. page_errorPage.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" errorPage="page_errorPage_error.jsp"%>
<!DOCTYPE html>
<html>
<meta charset="UTF-8">
<title>Directives Tag</title>
</head>
<body>
	<%
		String str = null;
		out.println(str.toString());
	%>
</body>
</html>

<!-- 출력 : 
errorPage 디렉티브 태그
에러가 발생했습니다
 -->​


2. page_errorPage_error.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<meta charset="UTF-8">
<title>Directives Tag</title>
</head>
<body>
	<h4>errorPage 디렉티브 태그</h4>
	에러가 발생했습니다
</body>
</html>

<!-- 출력 : 
errorPage 디렉티브 태그
에러가 발생했습니다
 -->


에러가 발생하면 page_errorPage_error.jsp의 문구가 page_errorPage.jsp에서 출력됩니다.

 

 

◎ 홈페이지 → 에러  서버 에러 페이지  errorPage  관리자가 만든 에러 페이지

 

◎ isELIgnored 속성

현재 JSP 페이지의 표현 언어 (expression language) 사용 여부를 설정 : 기본 값 : false
false이면 표현 언어의 표현식 '${}'를 사용할 수 있음.



1. page_iserrorPage.jsp


2. page_isErrorPage_error.jsp

 

 

◎ isScriptionEnabled 속성

 

 

 

디렉티브 태그는 외부의 파일을 불러와서 코드 내부에서 사용할 수 있도록 만들거나 코드에서 사용할 정보 등을 지정합니다.

 

경우에 따라서는 에러처리를 할 수도 있고 코드를 줄일수도 있습니다.

 

이제 시작이니 좀 더 달려봐야겠어요~!!

 

많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~

 

 

728x90
반응형