ForwardServlet
RequestDispatcher는 클라이언트로부터 최초에 들어온 요청을 JSP/Servlet 내에서 원하는 자원으로 요청을 넘기는
역할을 수행하거나, 특정 자원에 처리를 요청하고 처리 결과를 얻어오는 기능을 수행하는 클래스
/a.jsp 로 들어온 요청을 /a.jsp 내에서 RequestDispatcher를 사용하여 b.jsp로 요청을 보낼 수 있습니다. 또는
a.jsp에서 b.jsp로 처리를 요청하고 b.jsp에서 처리한 결과 내용을 a.jsp의 결과에 포함시킬 수 있습니다.
RequestDispatcher의 forward() 메서드
forward() 메서드는 대상 자원으로 제어를 넘기는 역할을 합니다. 브라우저에서 /a.jsp로 요청했을 때 /a.jsp에서
forward()를 실행하여 /b.jsp로 제어를 넘길 수 있습니다. 제어를 넘겨받은 /b.jsp는 처리 결과를 최종적으로
브라우저에게 출력합니다. 브라우저 입장에서는 /a.jsp를 요청했지만 받은 결과는 /b.jsp의 결과입니다.
이때 HTTP 리다이렉트 방식과는 달리 하나의 HTTP 요청(Request) 범위 안에서 동작이 이루어집니다.
(출처: https://dololak.tistory.com/502 [코끼리를 냉장고에 넣는 방법])
ForwardResult.jsp
RedircetServlet
RedirectResult.jsp
redircet의 경우 최초 요청을 받은 /a.jsp에서 클라이언트에 redirect할 b.jsp를 리턴하고, 클라이언트에게
전여 새로운 요청을 생성하여 b.jsp에 다시 요청을 보낸다. 따라서 처음 보냈던 최초의 요청정보는 더이상
유효하지 않게 된다
Forward와 Redirect의 차이점
1. URL의 변화여부 ( 변화 O : forward | 재사용 X : redirect )
2. 객체의 재사용 여부 ( 재사용 O : forward | 재사용 X : redirect )
출처 : https://doublesprogramming.tistory.com/63
forward 와 redircet의 정리가 (쉽게)잘 되어있는 블로그
'ETC > JSP' 카테고리의 다른 글
0 - JSP (MVC패턴) 게시판 만들기 시작 (0) | 2021.08.26 |
---|---|
JSP- FileUpload1 (0) | 2021.08.24 |
Jsp- sessionLogin (0) | 2021.08.18 |
Jsp- cookieExample (0) | 2021.08.18 |
Jsp- cookieTest (0) | 2021.08.18 |