ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JSP]JSP INCLUDE의 종류( jsp:include와 <%@ include %> 차이)
    카테고리 없음 2020. 7. 19. 22:08

    JSP include 방식은 2가지 방식이 있다.

     

    1. <jsp:include>

      *설명

        - 동적인 방식(액션태그방식)

        - 서버측 include가 아닌 클라이언트측 include 방식이다.

          즉, 컴파일된 출력 결과를 include 한다 

        - 부모jsp, 자식jsp => 부모jsp컴파일, 자식jsp컴파일 => 부모jsp에 자식jsp를 보여줌.

           예) a.jsp(include를 하는 부모 jsp) 와 b.jsp(include되는 자식 jsp)

                a.jsp가 컴파일 되고, b.jsp가 컴파일이 따로 따로 된 후

                파일이로딩이 되면서 자식파일을(b.jsp) 불러와서 보여주는 방식이다.

     

      *장점

             - 변수 추적이 쉬워 유지보수 하기가 쉽다.(param형태로 파라미터를 넘기기 때문에 추적이 쉽다.)

             - 동적으로 페이지 할당이 가능하다

             - include파일(자식jsp)의 변경이 자주 일어나는 경우 사용한다
               (자식jsp파일의 수정이 일어나도 즉시 적용이 됩니다.)

     

      *단점: 

             - 로딩 속도가 상대적으로 느리다

               파일이 각각 컴파일이 된 후 화면이 로딩될 때마다 부모jsp에 자식jsp를 계속해서 불러와서 보여줘야 하기 때문에 느리다.

               예를들어 include되는 파일이 수십개가 된다고 하면 화면을 호출할때마다 수십개의 파일을 계속해서 불러와서 보여줘야 하기 때문에 속도가 느리다.

     

    2. <%@ include %>

     

      *설명

        - 정적인방식(디렉티브 방식 = 액션태그 방식)

        - 서버측 include 방식 이다.

        - 현재 페이지에 include(자식jsp)파일이 삽입된다.

        - 부모jsp, 자식jsp => (부모+자식)합처진 새로운 1개 파일 컴파일 => 새로운1개파일을 보여줌.

     

      *장점

             - 속도가 빠르다

             - include된 파일에 선언에 변수를 부모jsp에서도 별도 선언없이 사용가능하다

             - 여러페이지를 1개의 페이지로 합친 후 그 1개의 파일만 컴파일이 되기 때문에 성능상 이점이 있다.

             - 

      *단점

             - 변수의 추적이 어렵다.

               (부모jsp에 선언된 변수를 자식jsp에서도 사용이 가능하기때문에 변수 추적이 어렵다)

             - 부모jsp를 수정하지 않는 이상 자식jsp가 수정이 되어도 별도로 컴파일이 일어나지 않아 적용이 안된다.

               (자식jsp를 수정 후 적용을 하기 위해 부모jsp파일도 수정 및 touch 등을 해줘야 적용이 된다.)

               (이유는 기본적으로 서버에서 include된 jsp파일 변경여부를 점검하지 않기 때문에 별도로 컴파일이 되지않아 적용이 안되는 것이다.)

     

    댓글

Designed by Tistory.