What is the correct way to forward a request
using RequestDispatcher? RequestDispatcher rd = request.getRequestDispatcher("dashboard.jsp");Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng: "rd.forward(request, response); ". Phương thức forward nhận đúng thứ tự tham số là request rồi mới tới phần trả về, và nó chuyển hẳn quyền xử lý sang tài nguyên đích ngay trong cùng một lượt request, nên mọi thuộc tính đã đặt vào request vẫn dùng được ở trang đích và thanh địa chỉ của trình duyệt không đổi. Lựa chọn "rd.forward(response, request); " đảo thứ tự hai tham số nên không khớp chữ ký phương thức và mã không biên dịch được. Lựa chọn "rd.include(request, response); " là lời gọi hợp lệ nhưng khác nghĩa: nó chèn kết quả của tài nguyên kia vào chỗ đang xử lý rồi trả điều khiển về servlet gọi, không phải chuyển tiếp. Lựa chọn "response.sendRedirect("dashboard.jsp"); " không dùng tới bộ điều phối request: nó trả mã chuyển hướng cho trình duyệt, sinh một request mới, URL đổi và dữ liệu trong phạm vi request cũ mất.