현재 JSP 페이지의 특정 영역에 외부 파일의 내용을 포 함하는 태그.
포함할 수 있는 외부 파일은 HTML, JSP, 텍스트 파일 등.
include 디렉티브 태그는 서블릿 프로그램으로 번역될 때 현재 JSP 페이지와 설정된 다른 외부 파일의 내용이 병합되어 번역.
머리글과 바닥글 같은 공통된 부분을 별도의 JSP 파일로 만들어 웹 페이지를 모듈화 할 수 있슴.
코드를 재사용하고 중복된 코드를 줄임으로써 유지 보수 측면에서 매우 유용.
<%@ include file="파일명" %>
include 디렉티브 태그를 사용하는 이유
외부파일의 내용(예: header, footer)을 복사하여 현재 JSP 페이지에 붙여넣을 수 있지만 이는 좋은 방법이 아님.
예를 들어 머리글과 바닥글에 해당하는 외부 파일 2개와 100개의 JSP페이지가 있는 경우를 생각해보자.
만약 JSP 페이지 100개에 외부 파일 2개의 내용을 복사 하여 붙여넣었을 때 이 외부 파일의 내용을 변경해야 한다면 JSP 페이지 100개를 모두 수정 편집해야 한다.
하지만 include 디렉티브 태그를 사용하면 모든 외부 파일을 포함하므로 외부 파일의 내용을 변경할 때마다 특정 외부 파일만 수정 편집하면 된다.
include 디렉티브 태그는 머리글과 바닥글 같은 공통된 부분을 별도의 JSP 파일로 만들어 웹 페이지를 모듈화 할수 있다.
그래서 코드를 재사용하고 중복된 코드를 줄임으로써 유지보수 측면에서 매우 유용하다.
예를 들어 하나의 프로젝트에서 다수의 JSP 페이지가 동일한 설정을 사용할 경우에 모든 페이지에 다 코딩을 할 수 있고 하나의 페이지에 설정 코드를 넣고 인클루드 해서 사용 할 수 있다.
모든 페이지에 동일한 코드를 넣는 경우
1) 특정 페이지의 오타
2) 설정을 변경해야 하는 경우 작업이 번거로워 진다.
하나의 페이지에 설정 코드를 넣고 인클루드 해서 사용 하면
1) 오타에 자유롭고
2) 설정을 변경해야 하는 경우에 간편하다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%--
include 디렉티브 태그로 외부 파일의 내용 포함하기
1) 외부 파일 include01_header.jsp의 내용을 포함하도록 include 디렉티브 태그 작성
--%>
<%@ include file="include01_header.jsp" %>
<h4>------------- 현재 페이지 영역------------</h4>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h4>헤더 페이지 영역입니다.</h4>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%@ include file="include02_header.jsp" %>
<h4>------------- 현재 페이지 영역------------</h4>
<%@ include file="include02_footer.jsp" %>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 한글을 출력하기 위해서 위것들을 살려놓음 -->
<h4>헤더 페이지 영역입니다.</h4>
<h4>footer</h4>