[Spring] 7 - Forward와 Redirect
by me
해당 게시글의 전체 소스코드는 이곳 Github를 참고해 주세요
목차
- Forward와 Redirect 동작 방식 이해
Forward와 Redirect
- src/test/java/urlController.java 내용
Forward
- Forward는 서버 내 페이지 전환
실생활 예시로 들면,
- 철수는 과자를 사러 집앞 A 편의점을 방문했다
- 편의점을 갔는데 내가 원하는 과자를 찾지 못해서 편의점 직원에게 도움을 요청
- 직원은 내가 원하는 과자를 창고에서 찾아서 줬다
// Forward TEST
@RequestMapping(value="/tryFwd", method = RequestMethod.GET)
public String getUserTest4( @ModelAttribute("msg") String msg ) {
logger.info(msg);
logger.info(" /tryFwd URL called. then getUserTest4 method executed.");
return "forward:/tryB";
}
Redirect
- Redirect는 브라우저를 경유한다
실생활 예시로 들면,
- 철수는 과자를 사러 집앞 A 편의점을 방문했다
- 편의점에 들어가니 직원이 다음과 같이 말했다. “현재 편의점이 리모델링 중이니 B 편의점으로 가주세요”
- 철수는 B 편의점으로 가서 과자를 산다
// Redirect TEST
@RequestMapping(value="/tryRdt", method = RequestMethod.GET)
public String getUserTest5( @ModelAttribute("msg") String msg ) {
logger.info(msg);
logger.info(" /tryRdt URL called. then getUserTest5 method executed.");
return "redirect:/tryB";
}
결론
- URL의 변화여부가 필요하다면 Redirect 를 사용하는 것이 좋다
- 객체를 재사용하거나 공유해야한다면 Forward 를 사용하는 것이 좋다
References
- 대학교 웹 프레임워크 수업 정리한 내용 입니다.