'forward'에 해당하는 글 1건

pageContext object

Programming/JSP 2013. 4. 12. 22:38

pageContext 내장 객체의 기능

 

  • 하나의 서블릿에 하나의 PageContext 객체 존재
  • 현재 페이지에서 속성 공유
  • 다른 페이지 호출

 

 

해당 페이지에서 속성을 설정하고 공유하기 위한 메소드를 제공합니다.

 

void setAttribute(String name, Object value)
Object getAttribute(String name)
void removeAttribute(String name)

 

getAttribute() 메소드 구현시 Object 형으로 리턴하므로 원래 형으로의 캐스팅이 필요합니다.

 

 

요청과 응답 제어

 

pageContext 내장 객체를 사용하여 다른 페이지에서 요청과 응답을 처리할 수 있습니다.

 

forward(java.lang.String relativeUrlPath)
- 해당 페이지의 버퍼는 모두 삭제되고 명시된 url로 이동하여 요청과 응답 처리

 

include(java.lang.String relativeUrlPath)
- 명시된 url로 이동하여 요청과 응답처리 후 해당 페이지로 돌아와 마무리

 

 

예제)

// page1.jsp
<%
out.println("호출 전 --- ");
pageContext.include("page2.jsp"); 
out.println(" --- 호출 후");
%>

// page2.jsp
<%=request.getParameter("name")%>

 

이라고 했을 때 http://domain/page1.jsp?name=lee 를 요청했다면,
호출 전 --- lee --- 호출 후 라고 출력될 것입니다.
하지만 include 대신 forward 메소드를 사용한다면 버퍼가 삭제되고 요청과 응답 제어가 넘어가서
lee 만 출력될 것입니다.
url은 이동하지 않습니다.


WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,