스프링의 서블릿인 DispatcherServlet 가 구동이 됨
(이하 리다이렉트, 디스패쳐 또는 포워드)
⇒ 디스패쳐는 서버가 직접 jsp 실행해서 바로 화면 응답
⇒ 리다이렉트는 jsp를 실행하지 않음. 해당 경로로 재요청
구분해서 쓰는 이유 :
디스패쳐를 이용할 경우 (파일 바로 실행) 불안전할 때가 있음 → 새로고침
새로고침이 일어났을 때 안전한가?
글쓰기 요청(/write)을 받았을 경우 → 글쓰기(insert) 하고 디비랑 연동이 일어나지? → 그리고 디비로 부터 응답 받고 → 컨트롤러에 의해 또 응답을 받겠지 → 이때 포워드 방식으로 뷰를 보여주게 되면(예 : content.jsp) (/write 요청을 했는데 응답은 content.jsp로 받음) → 주소표시줄에는 ~~/write 이렇게 표시가 되겠쥬 → 이때 새로고침을 하게 되면 /write 요청이 다시 일어나게 됨
: DB 유효성 검사가 잘 안되어있으면 서버에 오류날 수도 있음
따라서 보통 DB의 상태를 변경하는 작업을 한 후에는 리다이렉트를 사용한다