2. 페이지 이동
사용자의 요청에 따라 일련의 처리가 수행 중인 서블릿에서 다른 서블릿으로 이동하여 다른 처리도 수행해야 할 경우, 이동하는 방법은 크게 2가지가 있음
1. Forward 방식
클라이언트가 요청을 전송할 경우, 처음 전송한 Servlet 뿐만 아니라 다른 Servlet을 거쳐서 응답을 받는 케이스
서블릿 컨테이너 내부에서 서로 다른 서블릿 간에 요청이 진행됨
서블릿 컨테이너 내부에서 동작하기 때문에 클라이언트 입장에서는 URL이 바뀌지 않는 것처럼 보이기 때문에 URL 경로 만으로는 해당 요청이 다른 요청을 가진 서블릿(페이지)로 이동했는지 파악하기 어려움
특징
서블릿 내부에서 요청이 그대로 이어지기 때문에 Servlet1에서 Servlet2로 이동할 때 request, response 객체가 유지되어서 전달됨
따라서 두 번째 서블릿에서도 클라이언트가 보낸 요청 정보를 사용할 수 있음

2. Redirect 방식
클라이언트가 특정 Servlet으로 요청을 전송하면 결과를 응답 받는데,
응답 과정에서 redirect가 적용되었을 경우, 웹 브라우저는 또 다른 경로인 서블릿으로 새롭게 요청을 전송함
새롭게 요청이 전송되기 때문에 이전에 전송된 요청 객체와는 다른 요청 객체가 생성됨
따라서 처음 요청에 사용되었던 요청 객체의 정보(Servlet1로 전달된 요청 객체)를 Servlet2 에서는 사용할 수 없게 됨

Last updated on