본문 바로가기

ETC/JSP

JSP- forward 와 Redirect Test

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