طلب إعادة التوجيه يعني أنه بعد أن يتلقى مورد الويب طلب عميل، فإنه يخطر العميل بالوصول إلى مورد ويب آخر، وهذا ما يسمى طلب إعادة التوجيه. يمكن استخدام رمز الحالة 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(request,response);
}
}
هناك ميزتان ملحوظتان لإعادة توجيه الطلب: 1. يتم إرسال طلبين إلى الخادم. 2. يتغير شريط العناوين. نظرًا لأن أحد المبادئ المهمة لتحسين الخادم هو تقليل عدد الطلبات المرسلة، فيجب استخدام إعادة توجيه الطلب بشكل مقتصد.