Thursday, June 19, 2014

Apply Filter

1. Giới thiệu:

Filter khá quan trọng trong Web Java, nói đơn giản thì nhiệm vụ của nó là chặn và sửa các yêu cầu (requests) hoặc các phản hồi (responses) từ người dùng hoặc máy chủ.

Filter có thể cho phép chặn truy cập (Access), bản thân nó cũng có thể kiểm tra các yêu cầu và chỉnh đối tượng gửi yêu cầu đó.

Sơ đồ giới thiệu về Filter


2. Filter API:

Filter API là một phần của Servlet API, ta có thể tạo giao diện cho nó qua javax.servlet ở mỗi class trong package.

Có ba phương thức nếu ta muốn tạo giao diện Filter:

  - init (FilterConfig): Chỉ được gọi duy nhất khi tạo Filter lần đầu.và cho phép lấy đối tượng ServletConfig

  - doFilter (ServletRequest, ServletResponse, FilterChain): Được gọi mỗi khi filter kích hoạt và có nhiệm vụ chứa các xử lí của filter.

   - destroy(): được gọi duy nhất một lần duy nhất khi container hủy đối tượng filter. (Lúc cần kết nối Database cũng có thể gọi phương thức này).


3. Thực hành:

  a. Vấn đề:

Đây là bài viết trước đó tôi đã hướng dẫn các bạn tạo một ứng dụng Web cho phép đăng nhập để quan sát nội dung bên trong.




Tuy nhiên có một thiếu sót ở đây đó là dù bạn đăng nhập sai những vẫn theo dõi được nội dung bên trong (vì trong code chúng ta chỉ để dẫn đường link sang tab khác)


   b. Giải quyết:

    Filter sẽ giải quyết cho chúng ta vấn đề này, trước hết hãy tạo một file Filter:





No comments:

Post a Comment