.RequestDispatcher.maju()
Ia bekerja di sisi server. Saat menggunakan forward(), mesin Servlet meneruskan permintaan HTTP dari Servlet atau JSP saat ini ke Servlet, JSP, atau file HTML biasa lainnya, yaitu formulir Anda dikirimkan ke a.jsp, dalam bentuk a.jsp. .jsp menggunakan forward() untuk mengalihkan ke b.jsp Saat ini, semua informasi yang dikirimkan oleh formulir dapat diperoleh di b.jsp, dan parameter diteruskan secara otomatis.
Namun, forward() tidak dapat dialihkan ke file jsp dengan bingkai. Ia dapat mengalihkan ke file html dengan bingkai. Pada saat yang sama, forward() tidak dapat diteruskan dengan parameter di akhir, seperti servlet?name=frank .Jika ini tidak berhasil, Anda dapat meneruskan respons dalam program .setAttribute("name",name) untuk diteruskan ke halaman berikutnya.
URL di bilah alamat browser tetap tidak berubah setelah pengalihan.
Contoh: pengalihan pada file servlet
KODE
public void doPost(Permintaan HttpServletRequest, respons HttpServletResponse)
melempar ServletException,IOException
{
respon.setContentType("teks/html; charset=gb2312");
ServletContext sc = getServletContext();
RequestDispatcher rd = null;
rd = sc.getRequestDispatcher("/index.jsp");
rd.forward(permintaan, tanggapan);
}
2.response.sendRedirect()
Ia bekerja pada browser pengguna. sendRedirect() dapat meneruskan parameter, seperti servlet?name=frank ke halaman berikutnya, pada saat yang sama, ia dapat mengalihkan ke host lain, dan duplikat akan muncul di bilah alamat browser. URL halaman yang diarahkan.
sendRedirect() dapat mengarahkan ulang file jsp dengan bingkai.
Contoh: pengalihan pada file servlet
KODE
public void doPost(Permintaan HttpServletRequest, respons HttpServletResponse)
melempar ServletException,IOException
{
respon.setContentType("teks/html; charset=gb2312");
respon.sendRedirect("/index.jsp");
}