2011-11-09 3 views
-1

나는 여전히 RequestDispatcher의 사용법에 의아해하고있다.JSP : 왜 우리는 RequestDispatcher가 필요합니까?

내가 내부적으로 아래와 같이 서블릿을 호출하는 URL을 사용하여 자바 스크립트 파일이있는 경우 : 내가 그것없이 수행 위의 작업을 얻을 수있을 때

var url = "../../../../FeesServlet?selectedCode="+selectedCode+"&searchNameOrCode="+searchNameOrCode 

req.open("GET", url, true); 
req.onreadystatechange = someFunction(); 
req.send(null); 

왜 우리는 RequestDispatcher의 필요합니까를? 위의 코드는 여전히 비즈니스 로직이 상주하면서도 여전히 작업을 완료하는 서블릿 (리소스)을 호출합니다.

RequestDispatcher가 필요하지 않습니다.

답변

0

그러나 서블릿에서 새 url/servlet으로 어떻게 전달합니까? 다음을 위해 RequestDispatcher가 필요합니다.

RequestDispatcher dispatcher = aRequest.getRequestDispatcher(aResponsePage.toString()); 
dispatcher.forward(aRequest, aResponse); 

전달할 필요가없는 경우 운영자가 필요 없습니다.

+0

IC. 지금 javascript 파일에서 물론 위와 같이 서블릿을 호출 할 수 있지만 RequestsDispatcher를 사용하지 않는 한 JS와 같은 서블릿 내에서 다른 서블릿을 호출 할 수있는 방법은 없습니다. 나는 그것을 올바르게 받았 느냐? – yapkm01

+0

예, HttpServletResponse 리디렉션 기능을 사용하여 전달 또는 리디렉션을 호출 할 수 있습니다. –

+0

@Ramario 리디렉션 기능 - RequestsDispatcher에서 전달/포함이 수행되는 동안 호출 프로그램에서 실행이 계속되지 않습니다. 빙고? – yapkm01

관련 문제