2010. 6. 12. 00:22ㆍprogramming/jsp
:: include 지시어 ::
<%@ include file="file_name.jsp" %>
:: include 액션 ::
<jsp:include page="file_name.jsp" />
include 액션은 다른 파일을 불러온다는 측면에서 include 지시어와 개념이 유사하다. 하지만 include 지시어는 해당 파일을 포함시킨 다음 컴파일하는데 비해, include 액션은 실행 시점에서 해당 파일을 호출하여 그 결과를 포함한다는 점에 차이가 있다. include 지시어와 마찬가지로 include 액션은 유용한 기능을 제공하지만, 포함될 파일들을 각각 핸들링 하기때문에 성능상의 문제를 야기할 수 있으므로 적절하게 사용하는 것이 필요하다.
정리하면, include 액션은 파일 두개를 각각 컴파일해서 관리하기 때문에 동적인 페이지를 포함시킬 경우에 사용하는 것이 좋고, include 지시어는 파일 내용 두 개를 하나로 컴파일 하기 때문에 잘 바뀌지 않는 정적인 페이지를 고정하여 포함시켜 사용하는 것이 좋다로 볼수 있다.
:: include 액션 - Parameter submit ::
<jsp:include page="file_name.jsp">
<jsp:param name="param_name" value="param_value" />
</jsp:include>
또한, include 액션의 특징 중 하나는 변수를 전달할 수 있다는 점이다. include 액션에서 JSP 파일을 포함하거나 forward 액션을 통해 JSP로 포워딩 할때 param 태그를 이용해 속성 값을 전달할 수 있다. 전달된 파라미터 값은 request.getParameter() 를 통해 접근할 수 있다.
:: include 액션과 또다른 forward 액션 ::
<jsp:forward page="file_name.jsp">
<jsp:param name="param_name" value="param_value" />
</jsp:forward>
include와 forward의 가장 큰 차이점은, include 액션은 명시된 page가 부모페이지에 종속적으로 포함되는 형태 이며 제어권은 부모페이지에 유지되지만 forward 액션의 경우 페이지의 제어권이 forward 액션에 명시된 page 로 제어권이 이동하면서 페이지 이동이 생긴다는 점이다.
결과만 생각한다면 response 객체의 sendRedirect() 와 유사하지만, sendRedirect() 는 단순히 사용자 요청을 다른 페이지로 보내는 것으로 새로운 페이지를 위한 request 와 response 객체가 생성되지만, forward 액션의 경우 원래 요청에 포함된 request 와 response 객체가 그대로 전달 된다는 차이가 있다.
* pageContext 를 이용한 include 와 forward
pageContext 객체를 이용하여 내장객체의 메소드를 호출하는 방식으로 include 와 forward 를 하는것도 가능하다.
pageContext.forward("file_name.jsp");
pageContext.include("file_name.jsp");
'programming > jsp' 카테고리의 다른 글
intValue() 와 parseInt() 차이 (0) | 2010.06.12 |
---|---|
아파치 톰캣(Apache_tomcat) 5.5 , 6.0 (0) | 2010.06.12 |
JSP 기말 프로젝트 (0) | 2010.06.04 |
인코딩 에러 ( some characters cannot be mapped using "ISO-8859-1" character encoding ) (0) | 2010.05.13 |
자바 빈즈 수업 메모 (0) | 2010.04.30 |