Sio's Programming
포워딩(Forwarding) 본문
RequestDispatcher 클래스
서블릿 또는 JSP에서 요청을 받은 후 다른 콤포넌트로 요청을 위임 할 수 있습니다. 그리고 이러한 위임 방법에는 2개의
클래스를 이용 합니다.
하나는 requestDispatcher 클래스 이고, 또하나는 HttpServletResponse 클래스 입니다.
ReuqestDispatcher 클래스의 경우 요청 받은 요청객체(request)를 위임하는 컴포넌트에 동일하게 전달 할 수 있습니다.
RequestDispatcher 클래스
클라이언트 --------------> 요청받은 컴포넌트 ----------------> 위임받은 컴포넌트
(웹브라우저) 요청(request객체) 요청 위임(request 객체)
RequestDispatcher dispatcher = request.getRequestDispatcher("/dispacherJsp.jsp")
위임 받을 컴포넌트에 path를 넣어줌
dispatcher.forward(request, response);
서블릿에서 JSP 로 동일한 리퀘스트를 dispacherjsp.jsp 로 넘겨줌
<body>
dispacherJsp.jsp
</body>
반대로 JSP에서 다른컴포넌트로 넘겨줄수 있음.
HttpServletResponse 클래스
RequestDispatcher 클래스와 동일하게 요청을 위임하는 클래스 입니다.
ReuqestDispatcher 클래스와 차이점은 요청 받은 요청객체를 위임 받은 컴포넌트에 전달 하는 것이 아닌, 새로운 요청객체를 생성 합니다.
HttpServletResponse 클래스
클라이언트 --------------------> 요청 받은 컴포넌트 (요청 위임 request 객체)
(웹브라우저) 요청(request객체)
<--------------------
↓ ↑ 응답(response객체)
요청 응답
(request (response객체)
객체)
위임받은
컴포넌트
위에 2개의 요청은 서로 다른 객체이다
'Programming > JSP' 카테고리의 다른 글
| MVC 패턴의 이해 -1- (0) | 2018.05.16 |
|---|---|
| FrontController 패턴과 Command 패턴 (0) | 2018.05.16 |
| JSTL (0) | 2018.05.15 |
| EL(Expression Language) (0) | 2018.05.14 |
| 파일 업로드 (0) | 2018.05.14 |