forward


  • WAS의 서블릿이나 JSP가 요청을 받은 후 그 요청을 처리하다가, 추가적인 처리를 같은 웹어플리케이션 안에 포함된 다른 서블릿이나 JSP에게 위임할 수 있다. 이를 포워드라고 한다.
  • 리다이렉트와 다르게 request와 response 객체는 한번 생성된다.
  • forward를 사용하면 프로그램 로직 작성에 편리한 서블릿과 HTML 태그 출력이 편리한 JSP를 효과적으로 활용할 수 있다.

실행 과정

  1. 웹 브라우저에서 Servlet1에게 요청을 보낸다.
  2. Servlet1은 요청을 처리한 후, 그 결과를 request.setAttribute 메서드를 사용하여 HttpServletRequest에 저장한다.
  3. Servlet1은 결과가 저장된 HttpServletRequest와 응답을 위한 HttpServletResponse를 RequestDispatcher의 forward 메서드를 사용하여 같은 웹어플리케이션 안에 있는 Servlet2에게 전송(forward)
  4. Servlet2는 Servlet1으로부터 HttpServletRequest와 HttpServletResponse를 받는다. request.getAttribute 메서드로 Servlet1에서 저장한 결괏값을 불러올 수 있다. 요청을 처리한 후 웹 브라우저에게 결과를 전송
profile
do for me

0개의 댓글