What is the correct code to perform URL rewriting by appending a parameter named 'sessionID' with value '123' to the current URL in a Java Servlet?
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: "String url = response.encodeURL("currentURL?sessionID=123"); ". Gắn thêm thông tin phiên vào địa chỉ là nhiệm vụ của phản hồi: encodeURL() nhận địa chỉ gốc rồi trả về địa chỉ đã viết lại, container tự quyết định có cần thêm định danh phiên hay không, nên đây đúng là cách làm URL rewriting mà vẫn để container lo phần phiên. Lựa chọn "String url =
response.appendParameterToURL("sessionID", "123");" gọi một phương thức không tồn tại trong HttpServletResponse nên mã không biên dịch được. Lựa chọn "String url = request.appendURLParameter("sessionID", "123"); " cũng là tên tự đặt và còn gọi trên đối tượng yêu cầu, nơi chỉ đọc được tham số chứ không sinh địa chỉ. Lựa chọn "
response.sendRedirect("currentURL?sessionID=123");" không viết lại địa chỉ mà bắt trình duyệt đi tới trang khác, tức thực hiện chuyển hướng chứ không trả về chuỗi địa chỉ đã gắn tham số.