본문 바로가기
JSP, Servlet/Summary

JSP/Servlet : Forwarding

by autumnly 2017. 1. 23.

Forwarding 이란?

서블릿 또는 JSP에서 요청을 받은 후 다른 컴포넌트로 요청을 위임하는 것.

다음의 두 가지 방법이 있다.



RequestDispatcher Class

요청받은 request 객체를 위임하는 컴포넌트에 동일하게 전달한다.


 Client

 ─request→

요청받은 컴포넌트

request

위임받은 컴포넌트



요청받은 컴포넌트에서 다음과 같이 다른 컴포넌트로 위임해준다.

1
2
RequestDispatcher dispatcher = request.getRequestDispatcher("/dispatch.jsp"); //위임할 파일명
dispatcher.forward(request, response); //동일한 request, response
cs







HttpServletResponse Class

요청받은 request 객체를 먼저 요청받은 컴포넌트와 연결한 뒤, 클라이언트에서 다시 위임받은 컴포넌트와 연결하는 데 이 때 새로운 request 객체를 생성한다. 따라서 동일한 request 객체를 전달하지 않는다. (요청받은 컴포넌트에서 위임받은 컴포넌트와 연결할 때 클라이언트를 한번 거쳐간다)


Client

request

요청받은 컴포넌트

 ↓request'

 

 

 위임받은 컴포넌트

 

 




요청받은 컴포넌트에서 다음과 같이 다른 컴포넌트로 위임해준다.

1
response.sendRedirect("RequestObj"); //위임할 파일명
cs