Pengalihan permintaan berarti bahwa setelah sumber daya web menerima permintaan klien, ia memberi tahu klien untuk mengakses sumber daya web lain. Ini disebut pengalihan permintaan. Kode status 302 dan header lokasi dapat digunakan untuk mengimplementasikan pengalihan.
Skenario aplikasi yang paling umum untuk pengalihan permintaan adalah login pengguna. Contoh kode berikut dialihkan ke halaman login pengguna dari halaman lain:
Copy kode kodenya sebagai berikut:
paket com.yyz.response;
impor java.io.IOException;
impor javax.servlet.ServletException;
impor javax.servlet.http.HttpServlet;
impor javax.servlet.http.HttpServletRequest;
impor javax.servlet.http.HttpServletResponse;
kelas publik ResponseDemo memperluas HttpServlet {
public void doGet (permintaan HttpServletRequest, respons HttpServletResponse)
melempar ServletException, IOException {
respon.setHeader("lokasi", "/day06/register.html");
respon.setStatus(302);
//Dua kalimat kode di atas setara dengan kode berikut:
//response.sendRedirect("/day06/register.html");
}
public void doPost (permintaan HttpServletRequest, respons HttpServletResponse)
melempar ServletException, IOException {
doGet(permintaan,tanggapan);
}
}
Ada dua fitur penting dari pengalihan permintaan: 1. Dua permintaan dikirim ke server. 2. Bilah alamat berubah. Karena prinsip penting optimasi server adalah mengurangi jumlah permintaan yang dikirim, pengalihan permintaan harus digunakan dengan hemat.