PHẦN 9 : SỬ DỤNG REQUEST DISPATCHER
Phần này chúng ta sẽ cùng nhau tìm hiểu về cách sử dụng Request Dispatcher vậy trước tiên chúng ta sẽ tìm hiểu qua về Request Dispatcher
I. Request Dispatcher :
- Request Dispatcher là phương pháp giúp bạn bảo toàn địa chỉ url sau khi chuyển đến trang index hoặc trang success, nó làm trang web của bạn trở nên linh dộng hơn nhờ các compoment được phân bố riêng rẽ. Và chính điều này giúp bạn không đánh mất giá trị của các định danh.
II. Phương thức include() và phương thức forward() :
1. Phương thức include() :
- Là 1 phương thức sẽ giúp ích cho bạn khi bạn muốn chèn thêm các nội dung tĩnh/động vào trong response trả về từ 1 Web compoment nào đó.
- Bên phía client sẽ gửi 1 request cho Servlet 1, tại đây Servlet 1 sẽ thực hiện include 1 nội dung tĩnh hoặc động vào đó rồi gửi lên Servlet 2. Servlet 2 sẽ xử lý nội dung và gửi 1 response về cho Servlet 1. Cuối cùng Servlet 1 thực hiện công việc xử lý ra response hoàn chỉnh và trả về phía client.
2. Phương thức forward() :
- Là 1 phương thức cho phép 1 Web compoment xử lý qua 1 request từ phía client và sau đó gửi qua 1 Web compoment khác trước khi sinh ra response cho phía client
III. Bài tập nhỏ :
- Để hiểu rõ hơn về 2 phương thức include() và forward() chúng ta hãy cùng nhau xử lý 1 bài toán như sau :
Implement an application as following:
Depends of the question, GateKeeper will forward request to corresponding Answers.
* Bước 1 : Tạo 1 Web Application (WA) , chuột phải vào thư mục Web Pages và tạo 1 trang jsp có tên WrongPage. Trang jsp sẽ có hình thức như sau :
* Bước 2 : Quay trở lại trang index bạn sửa lại trang với đoạn code sau :
* Bước 3 : Tạo 1 Servlet với tên GateKeeper (tên này sẽ trùng với tên action trong thẻ form bạn viết bên trang index). Thêm đoạn code sau vào servlet GateKeeper :
* Bước 4 : Tạo 1 Servlet với tên Response với chức năng show ra câu trả lời tương ứng với lựa chọn câu hỏi đúng :
* Chạy thử WA và đây sẽ là thành quả của bạn :
Nếu bạn chọn đúng :
Vậy là bài học của chúng ta hôm nay đến đây là kết thúc chúc bạn thành công !
Bản demo đầy đủ bạn có thể tải tại đây > RequestDispacherDemo.rar
No comments:
Post a Comment