RequestDispatcher
- RequestDispatcher là một lớp Java cực kỳ quan trọng cho phép "including" nội dung trong một request / response hoặc "forwarding" một request / response đến một tài nguyên. Một servlet có thể sử dụng một RequestDispatcher để include hoặc forward một request / response đến một JSP.include() và forward()
- include() giúp chèn nội dung tĩnh hoặc động vào trong response từ một Web compoment.- forward() cho phép một Web compoment xử lý một request từ client và gửi qua một Web compoment khác trước khi sinh ra response cho client.
Example
- Tạo một trang HTML hiển thị danh sách các câu hỏi và cho phép người dùng lựa chọn để biết đáp án từng câu hỏi.- Tạo một servlet tên là GateKeeper. Servlet này sẽ nhận request câu hỏi mà người dùng muốn hỏi, sau đó sẽ response về câu trả lời phù hợp.
- Trong servlet này chúng ta tạo một List<String> choose để chứa các lựa chọn câu hỏi. Sau đó Override init(config) và add các số vào List tương ứng với thứ tự câu hỏi có sẵn.
- Tiếp theo khai báo biến dapan, biến này sẽ request parameter là Choose.
Như ở hình bên dưới nếu lựa chọn của người dùng có chứa trong List choose thì RequestDispatcher sẽ chuyển đến servlet Response. Và ngược lại RequestDispatcher sẽ chuyển đến wronganswer.jsp.
- Servlet Response chỉ đơn giản đưa ra câu trả lời phù hợp với mỗi lựa chọn của người dùng.
Không có nhận xét nào:
Đăng nhận xét