Redirect, Dispatch 순으로 한번 확인해보자
- 브라우저 주소 창에 URL을 입력하고 서버/컨테이너로 요청이 날아간다
- 서블릿은 요청을 다른 URL로 보내야 하는것을 간파한 다음 Response 객체의 sendRedirect() methoed들을 호출한다.
- HTTP Response에는 상태 헤더 코드에 301값과 Location Header에 새로운 URL값을 포함한다
- 브라우저는 응답을 받아 Location값을 확인한 후 해당 URL로 새로운 요청을 날리고 주소창의 값이 바뀐다.
- 서버/컨테이너로 요청이 날라가고 응답을 해줘서 화면에 값이 뜬다.
- 브라우저에 url을 입력하고 서블릿이 보기에는 이 요청은 웹어플리케이션의 다른 컴포넌트가 처리해야한다고 판단하여 Dispatch코드를 실행한다.
- JSP는 이를 받아 응답을 해준다.
이와 같이 Redirect와 Dispatch의 차이이이고 유의해야하는것은
리다이렉트는 sendRedirect() method를 호출한다면 Disaptch는 다른 컴포넌트가 처리해야한다고 판단하여 디스패치 코드를 실행하고 jsp에 제어를 넘겨준다.,