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 |
'JSP, Servlet > Summary' 카테고리의 다른 글
JSP/Servlet : FrontController Pattern, Command Pattern (0) | 2017.01.23 |
---|---|
JSP/Servlet : JSTL (JSP Standard Tag Library) (0) | 2017.01.23 |
JSP/Servlet : Expression Language (0) | 2017.01.23 |
JSP/Servlet : DAO, DTO, Connection Pool (0) | 2017.01.22 |
JSP/Servlet : mysql - eclipse 연동하기 (0) | 2017.01.16 |