JSP, Servlet/Summary
JSP/Servlet : Forwarding
autumnly
2017. 1. 23. 17:48
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 |