Thứ Sáu, 13 tháng 6, 2014

Use request dispatcher


Request dispatcher gồm 2 phương thức là include (để lấy nội dung của một trang khác vào servlet hiện thời. Phương thức forward để chuyển đến 1 URL khác. Bạn có thể lấy RequestDispatcher theo 1 trong 3 cách sau:
·         Sử dụng phương thức getRequestDispatcher của javax.servlet.ServletContext interface, tham số truyền vào là chuỗi chứa đường dẫn tới tài nguyên khác. Đường dẫn là đường dẫn tương đối với gốc của ServletContext.  
·         Sử dụng phương thức getRequestDispatcher của javax.servlet.ServletRequest interface, tham số truyền vào là chuỗi chứa đường dẫn tới tài nguyên khác. Đường dẫn là tương đối với HTTP request hiện hành. Đường dẫn có thể là tương đối nhưng nó ko thể mở rộng ra ngoài servlet context hiện hành.
·         Sử dụng phương thức getNamedDispatcher của javax.servlet.ServletContext interface, tham số truyền vào là chuỗi chứa tên của tài nguyên khác (VD: tên 1 servlet được định nghĩa trong web.xml).
 Sự khác biệt giữa 2 phương thức này là javax.servlet.Context.getRequestDispatcher() có thể dùng đường dẫn tương đối.

request.getRequestDispatcher("/index.jsp").include(request, response);
request.getRequestDispatcher("/index.jsp").forward(request, response);


forward() method:



Include() method:


Demo:Implement an application as following:

Depends of the question, GateKeeper will forward request to corresponding Answers.

Bước 1:Tạo mới một Project
Bước 2:Tạo thêm 1 trang none.jsp nếu câu hỏi ta nhập vào la sai.



Bước 3:Tại trang Index tạo form chứa 1 textbox và 1 nút submit để gửi thông tin đi


Bước 4:Tạo GateKeeper Servlet để nhận thông tin từ trang Index.html,và sẽ kiểm tra xem thông tin nhập từ trang Index có đúng hay không,nếu thông tin đúng sẽ chuyển tiếp tới Response Servlet,còn thông tin sai sẽ về trang None.jsp


Bước 5:Override phương thức init() để thêm dữ liệu



 Bước 6:Tạo phương thức forward để request va response thông tin


Bươc 7:Tạo Response Servlet để tiếp nhận và trả thông tin


Kết quả: Giao diên tại trang Index



Giao diên khi câu hỏi đúng


Giao diên khi câu hỏi sai















1 nhận xét: