요청 리디렉션이란 웹 리소스가 클라이언트 요청을 받은 후 클라이언트에게 다른 웹 리소스에 액세스하도록 알리는 것을 의미합니다. 302 상태 코드와 위치 헤더를 사용하여 리디렉션을 구현할 수 있습니다.
요청 리디렉션에 대한 가장 일반적인 애플리케이션 시나리오는 사용자 로그인입니다. 다음 샘플 코드는 다른 페이지에서 사용자 로그인 페이지로 리디렉션됩니다.
다음과 같이 코드 코드를 복사합니다.
패키지 com.yyz.response;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
공개 클래스 ResponseDemo는 HttpServlet을 확장합니다.
공개 무효 doGet(HttpServletRequest 요청, HttpServletResponse 응답)
ServletException, IOException이 발생합니다.
response.setHeader("location", "/day06/register.html");
response.setStatus(302);
//위의 두 코드 문장은 다음 코드와 동일합니다.
//response.sendRedirect("/day06/register.html");
}
공개 무효 doPost(HttpServletRequest 요청, HttpServletResponse 응답)
ServletException, IOException이 발생합니다.
doGet(요청,응답);
}
}
요청 리디렉션에는 두 가지 주목할만한 기능이 있습니다. 1. 두 개의 요청이 서버로 전송됩니다. 2. 주소 표시줄이 변경됩니다. 서버 최적화의 중요한 원칙은 전송되는 요청 수를 줄이는 것이므로 요청 리디렉션을 자제해서 사용해야 합니다.