Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

JSP include 지시어 완벽 정리: 동작 원리와 실행 예제

JSP에서 include 지시어(directive)번역(translation) 단계에 외부 파일을 현재 페이지에 포함시키기 위해 사용됩니다. 이 지시어는 컨테이너에게 번역 단계 동안 다른 외부 파일의 내용을 현재 JSP와 병합하도록 지시합니다. include 지시어는 JSP 페이지 내 어디에든 작성할 수 있습니다.

include 지시어의 기본적인 사용 형식은 다음과 같습니다.

<%@ include file = "상대 URL" %>

지시어에 지정하는 파일명은 실제로 상대 URL입니다. 경로 없이 파일명만 지정하면, JSP 컴파일러는 해당 파일이 현재 JSP와 같은 디렉터리에 있다고 간주합니다.

위 문법을 XML 문법으로 표현하면 다음과 같습니다.

<jsp:directive.include file = "상대 URL" />

include 지시어 활용 예제

include 지시어의 대표적인 활용 사례는 여러 콘텐츠 페이지에서 공통으로 사용되는 헤더(header)푸터(footer)를 포함시키는 것입니다. 이렇게 하면 코드 중복을 줄이고 유지보수가 훨씬 쉬워집니다.

예제를 위해 세 개의 파일인 (a) header.jsp, (b) footer.jsp, (c) main.jsp를 아래와 같이 정의해 보겠습니다.

header.jsp 파일 내용

<%!
    int pageCount = 0;
    void addCount() {
        pageCount++;
    }
%>

<% addCount(); %>

<html>
    <head>
        <title>The include Directive Example</title>
    </head>
    <body>
        <center>
            <h2>The include Directive Example</h2>
            <p>This site has been visited <%= pageCount %> times.</p>
        </center>
        <br/><br/>

footer.jsp 파일 내용

        <br/><br/>
        <center>
            <p>Copyright © 2010</p>
        </center>
    </body>
</html>

main.jsp 파일 내용

마지막으로 헤더와 푸터를 포함시키는 메인 페이지입니다.

<%@ include file = "header.jsp" %>
<center>
    <p>Thanks for visiting my page.</p>
</center>
<%@ include file = "footer.jsp" %>

실행 결과 확인하기

위 세 개의 파일을 모두 루트(root) 디렉터리에 저장한 뒤 브라우저에서 main.jsp에 접속해 보면 다음과 같은 출력 결과를 확인할 수 있습니다.

The include Directive Example

This site has been visited 1 times.

Thanks for visiting my page.

Copyright © 2010

여기서 main.jsp를 새로고침할 때마다 페이지 방문 카운터가 계속 증가하는 것을 확인할 수 있습니다. header.jsp에 선언된 선언문(declaration)과 스크립틀릿(scriptlet)이 번역 단계에서 main.jsp에 그대로 병합되었기 때문입니다.

include 지시어 활용 팁

웹페이지를 설계할 때 창의성을 마음껏 발휘하되, 웹사이트의 동적인 부분은 별도의 파일로 분리한 후 메인 파일에 포함시키는 방식을 권장합니다. 이렇게 하면 나중에 웹페이지의 특정 부분을 수정해야 할 때 해당 파일만 변경하면 되므로 유지보수가 매우 편리해집니다.

또한 include 지시어는 요청 시점이 아니라 번역 시점에 포함된다는 점을 기억하세요. 요청 시점에 동적으로 포함해야 한다면 <jsp:include> 액션 태그를 사용하는 것이 적절합니다.