오늘은 Redirect 와 Forward를 사용한 것을 정리하며 복습해보려한다.
Spring Framework 사용시 controller에서 View의 이름 대신 "redirect"를 사용하여 해당 주소를 리다이렉트 하는 경우가 있다.
이러한 경우에 스프링이 어떤식으로 Redirect를 하는 지 처리 과정에 대해 알아보자.
이러한 특징으로 본다면,
Redirect는 웹 브라우저에게 다른 페이지로 이동할 것을 명령하고 이동한 페이지에서 Request나 Response의 객체가 생성된다.
내가 사용한 코드를 설명하자면,
1 ) 213 ~ 214 번째 줄에서 Redirect되는 Request에 담을 파라미터를 지정한다.
2 ) 216번째에서 age를 파라미터로 지정하고 QueryString에 담겨져간다.
3 ) 여기서 강조되는 것은! View를 리턴하는 것이 아닌 Redirect를 된다는 점!
이렇게만 들었을때는 나 조차 이해하기 어려웠다.
하지만, 구글링을 통해서 다양한 사람들이 예시를 작성한 것을 토대로 내용을 이해할 수 있었는데 예시 중 하나가 바로
"카드 분실 신고" 이다.
우리가 카드를 분실하게 되면 어떠한 방법으로 처리를 할까?
첫번째로, 카드사에 전화를 하게된다. 하지만, 고객센터이다보니 다른부서에서 전화를 받는 경우가 많다.
두번째, 앞서말한대로 다른부서에서 전화를 받았을 경우에 분실신고부서로 연결해준다.
세번째, 최종적으로 분실신고부서에서 처리해준다.
이처럼, 요청을 보내고 서버내에서 이동하여 처리하는 것이 Forward 이다.