Web | Forward와 Redirect 차이


Forward 방식

  • Forward는 Web Container 차원에서 페이지의 이동만 존재한다. 실제로 웹 브라우저는 다른 페이지로 이동했음을 알 수 없다. 그렇기 때문에 웹 브라우저에는 최초에 호출한 URL이 표시되고, 이동한 페이지의 URL 정보는 확인할 수 없다.
  • 현재 실행중인 페이지와 forward에 의해 호출될 페이지는 Request 객체와 Response 객체를 공유한다. ㅇㅇㅇㅇ Forward 방식

Servlet에서 JSP로 페이지 이동할 때 사용되는 명령문

RequestDispatcher rd = request.getRequestDispatcher("test01.jsp");
rd.forward(request, response);

Redirect 방식

  • Redirect는 Web Container로 명령이 들어오면, 웹 브라우저에게 다른 페이지로 이동하라고 명령을 내린다. 그러면 웹 브라우저는 URL을 지시된 주소로 바꾸고 해당 주소로 이동한다. 다른 웹 컨테이너에 있는 주소로 이동한다.
  • 새로운 페이지에서는 Request와 Response 객체가 새롭게 생성된다.

Redirect 방식

Servlet에서 JSP로 페이지 이동할 때 사용되는 명령문

response.sendRedirect("test02.jsp");

출처