ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JSP]forward 와 redirect 차이 기능 설명
    프로그램/jsp 2013. 9. 20. 14:02
    forward 와 redirect 차이 기능 설명

     

    forward 
    Forward 되는 해당 요청이 다른 Servlet 에 전달됩니다. 이 때, Client 는 다른 Servlet 에서 이 요청을 처리할 것을 모릅니다. Client 와 통신 없이 서버에서만 처리되기 때문에, Redirect 보다 더 나은 성능 보입니다.
    Forward 한 후에도 객체를 사용할 수 있으므로, 객체가 가지고 있던 Request Attribute 를 사용할 수 있습니다.
    URL 에는 변화가 없으므로 URL 과 Client Application 이 일치하지 않을 수 있습니다.
    이는 Forward 가 발생한 사실을 Client 가 알지 못하기 때문입니다. Refresh 를 할 경우, 정확하지 않은 요청이 발생할 수 있습니다.
    Struts Framework 는 기본으로 Forward 를 사용합니다.
    예제)
    RequestDispatcher dispatcher = request.getRequestDispatcher("/result.jsp?....");
    dispatcher.forward(request, response);
    redirect
    브라우저가 응답을 받은 후 다시 보낼 새로운 URL 포함.
    완전히 새로운 요청을 하기 때문에 Request Attribute 가 가지고 있는 객체는 Redirect 발생 시 소멸됩니다.
    추가적으로 발생한 왕복 처리 때문에 Forward 보다 느립니다.
    URL 에 파라미터가 보이므로, 중요한 정보는 포함하지 않도록 유의해야 합니다.
    예제) 

     response.sendRediret (request.encodeRedirectURL ("http://xxxxxx/result.jsp?...")

    댓글

Designed by Tistory.