Assuming that there is a link logout at the top of the profile.jsp, orderhistory.jsp.

6 phương ánCó giải thích
Đề bài
<a href="logoutServlet">Logout</a>

When the client clicks the logout link, the following code in the logoutServlet runs:

Đề bài
  HttpSession session = request.getSession();
//TODO
  response.sendRedirect("login.jsp");

What is the best code to write in the TODO section to complete the logout function?

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở

Đáp án đúng: "session.invalidate(); ". Lời gọi này huỷ cả phiên phía máy chủ: mọi thuộc tính bị bỏ và mã định danh cũ không còn hiệu lực, nên sau khi chuyển hướng về trang đăng nhập thì các trang như trang hồ sơ hay trang lịch sử đơn không đọc lại được dữ liệu người dùng cũ, kể cả khi người dùng bấm nút lùi. Lời gọi "session.removeAll(); " không biên dịch được vì giao diện phiên không có phương thức tên đó. Lời gọi "session.getAttribute(“USER”).remove(); " sai hai lẽ: thứ trả về là một vật thể chung không có phương thức này, và khi chưa đăng nhập thì giá trị rỗng sẽ gây ngoại lệ con trỏ rỗng. Lời gọi "session.removeAttribute(“USER”); " chạy được nhưng chỉ bỏ một thuộc tính, phiên vẫn sống cùng các thuộc tính khác nên chưa phải đăng xuất dứt điểm. Dòng "

Lời giải
if(session.getAtriibute(“USER”)!=null) session.remove(“USER”);

" dùng hai tên hàm không có trong giao diện phiên, lại viết sai chính tả, nên không biên dịch được. Lời gọi "session.remove(); " cũng vậy, không tồn tại trong giao diện phiên.

Cùng phần 6

Xuất hiện trong 2 bộ đề