[JAVA] RequestDispatcher가 무엇일까요..

행복한 콩🌳·2022년 12월 14일
0

JAVA

목록 보기
6/26
RequestDispatcher view = request.getRequestDispatcher("view/notice/noticeDetailView.jsp");
request.setAttribute("n", notice);
view.forward(request, response);

http://www.javajigi.net/pages/viewpage.action?pageId=77

RequestDispatcher 란 현재 request에 담긴 정보를 저장하고 있다가
그 다음 페이지 그 다음 페이지에도 해당 정보를 볼수있게 계속 저장하는 기능.

A.jsp 에 담겨있는 param 이라는 이름의 파라미터를 중간에 가공 하지 않는다면
B.jsp에서도 C.jsp에서도 받아 볼수 있음

request - response 의 단계에 forward와 sendRedirect 방식이 있음

  • forward
    A.jsp -> Servlet -> B.jsp 로 넘어감에 따라 A.jsp가 가지고 있는 파라미터
    정보를 가지고 B.jsp로 넘겨줌
  • sendRedirect
    모든 파라미터 정보를 제외하고 단순 페이지 호출

RequestDispatcher 없이 forward를 하게 되면 A.jsp -> Servlet -> B.jsp까지는
파라미터 정보가 넘어가지만 그 다음 단계에서 A.jsp의 파라미터를 별도로 저장하지 않으면
소실됨

위 코드는 RequestDispatcher를 선언하고 request 에 "n" 이라는 이름의 Attribute를 저장 후 forward 시킨다.

한마디로 파라미터 정보 유지를 위해 RequestDispatcher를 사용함.

profile
매일매일 조금씩 모여 숲이 되자🐣

0개의 댓글