RequestDispatcher & sendRedirect ]

 

클라이언트의 요청에 객체를 던져준다 .. 

 

만약 클라이언트가 요청한 페이지에 sendRedirect 가 있다면 다음과 같이 동작하게된다.

 

 

[ HttpServeltRequest 의 sendRedirect 로 서버에 요청할 경우 ]

 

<a.jsp>




<%

     response.sendRedirect("b.jsp");

%>

 

< 순서 >

 

클라이언트 -> 서버로 요청 (a.jsp) 

 

서버에서 응답 -> 클라이언트(a.jsp)

 

클라이언트 -> 서버로요청 (b.jsp)




서버에서 응답 -> 클라이언트(b.jsp)




* 결국 두번의 반복된 동작으로 두번의 네트윅 트레픽이 발생하기때문에 속도가 늦어질수 있다.

 

 

[ RequestDispatcher 로요청할 경우 ]




<a.jsp>




?<%


RequestDispatcher rd = request.getServeltContext().getRequestDispacher("b.jsp");

rd.forward(request, response);

%>




< 순서 >




클라이어트에서 요청 -> 서버에서 응답함(a.jsp) -> 서버로 페이지요청하여 객체로 전달(b.jsp)

-> 클라이언트에게 응답(b.jsp)




* RequestDispatcher를 이용한 경우 한번의 요청으로 모든 작업이 서버에서 처리되기 때문에

실행속도는 sendRedirect 보다 빠르다 

+ Recent posts