본문 바로가기
JAVA/JSP

jsp include와 iframe의 차이

by 플람 2020. 3. 18.

 프론트 단 소스를 보다보면 레이어를 나눌 때 jsp include를 통하여 나누는 방식과 iframe으로 나누는 방식, tiles로 이용하는 방법, 모든 정보를 json object로 가지고와서 뿌려주는 방식이 있다.

 

오늘은 jsp include와 iframe의 차이점에 대해서 써보려고 한다.

 

jsp include는 현재 jsp 파일에다가 다른 jsp 파일 및 html을 포함시켜서 동작하도록 만드는 것이다.

 

- <%@ include file="" %> 정적 -> 값들이 자주 변경되지 않는다면 쓰자. 
@ 뜻 -> directive
include 되는 파일과 include 하는 파일이 하나의 파일로 인식됨. 


- <jsp:include page=""/> 동적 -> 값들이 자주 변경되면 쓰자.
include 되는 파일과 include 하는 파일이 각각 실행되도록 되어짐.


- <c:import> 
요청이 들어오는 시점에 url속성에 명기한 파일을 현재 컨텐츠에 포함. 
위 두개의 방식과는 현재 컨테이너 자원뿐만 아니라 외부 자원도 가능하다.
<c:param>태그를 사용하여 포함될 페이지에 값을 넘겨줄 수 있다.
동적 태그라서 jsp:include와 하는 일은 같다고 함.

ex)
<c:import url="/profile.do">
    <c:param name = "id" value = "flamme">
    <c:param name = "name" value = "khj">
</c:import>



정적이냐 동적이냐의 차이는 여전히 싸우는듯. 
정적이 더 괜찬다는 말이 있기도하고, 동적이 더 괜찬다는 말이 있기도 하다.
https://12bme.tistory.com/135 <- 성능 차이

 

그리고 iframe 또한 html을 불러와서 원하는 자리에다가 html을 포함시켜서 동작하는 것이다.

 

왠지 서로 같지만 차이점이 있을 것 같아 요번 포스팅을 쓰게 되었다.

 

무슨 차이점이 있을까? 

 

iframe의 단점에 있다. iframe은 많은 이미지나 스크립트가 있으면 성능을 떨어트린다고 한다.

 

그리고 jsp:include 와 달리 iframe은 새로운 html을 불러오기 때문에 페이지 로딩시 포퍼먼스를 떨어트리게 한다.

 

대충 어떤 구조냐면.

 

왼 : jsp: include 오 : iframe

 

이런식으로 iframe을 많이쓰다보면 수많은 html을 불러오기 때문에 많이 느려진다.

 

하지만 이 장점은 iframe 속 js 파일이나 css 파일을 전부 한 아이프레임에서 작업하기 때문에 부모에게는 영향이 없다는 것이다. jsp:include의 단점이 될 수 있다는 것이다. jsp:include에서는 영역에 따른 jsp를 불러오기 때문에 부모에서 css,js 작업을 다 해주는게 좋기 때문에 나중에 코드가 많아지면 혼란을 겪을 수가 있다.

 

그러면 이 방식은 어디다가 써야할까?

바로 개발자가 편한 방식으로 쓰되 나중에 나의 코드를 유지보수하는 사람이 유지보수가 쉽도록 만들어줘야한다. 

 

이상이다. 

 

 

 

 

추가 20-03-18

 

javascript 함수 중에는 window.open(url, name, spes, replace)가 있다.

 

새로운 윈도우 창을 띄우는 함수인데.

 

이것을 iframe에 쓸 수가 있다.

 

바로 iframe에 name값을 넣고 window.open('페이지 이름', iframeName값, '')을 넣으면 된다.