Thứ Tư, 18 tháng 6, 2014

Tìm hiểu về Filter

I. Filter là gì?

Filter nếu được dịch đúng nghĩa từ giáo trình ra thì nó là "một công cụ, nó làm việc như một interface hay một passage giữa Client và các ứng dụng Web. Filter là một tập hợp các bước mà các Responce và Request bắt buộc phải đi qua đối với các thay đổi được yêu cầu.

Ok. Đó thì là lý thuyết, túm lại các bạn nên hiểu nó như một cái chốt bảo vệ nằm ngay ở cổng của các công ty, thằng nào muốn vào công ty thì phải đi qua nó. ("nếu muốn đi qua mà nó không biết thì bò qua hoặc trèo tường, cái này hình như giống bọn hacker nó làm :)) "). 

Dưới đây là mô tả bằng hình ảnh để cho các bạn dễ hình dung:



II. Về việc sử dụng (tác dụng)

Ok. Nghe về định nghĩa thì nó có vẻ hay đây, vậy cụ thể thì nó được dùng để làm cái gì? Tôi sẽ nói một vài ứng dụng của filter ở ngay dưới đây

- Thứ nhất: (Authentication filters) Nó dùng để kiểm tra xem người đăng nhập vào có chính xác hay không, các thông tin được nhập vào có đúng không. Hay nói ở khía cạnh khác là nó kiểm tra quyền của người dùng xem có được truy xuất đến tài nguyên đó không.

- Thứ hai: (Login and auditing filters) Filter có thể được dùng trong việc login và ghi lại thông tin của người dùng đã truy cập đến tài nguyên của hệ thông.

- Thứ ba: Được dùng để thực hiện thao tác chuyển đổi (convertion). Ví dụ như có rất nhiều định dạng file ảnh mà người dùng up lên hệ thống, nhưng khi đi qua filter chúng sẽ được chuyển đổi thành một định dạng cụ thể để lưu vào kho tài nguyên của hệ thống.

- Thứ tư: Filter có thể nén các dữ liệu gửi lên để có thể dễ xử lý, gọn gàng và tốn ít dung lượng lưu trữ phía server.

- Thứ 5: Mã hoá dữ liệu. Khi thông tin của người dùng gửi lên và đi qua filter sẽ được mã hoá để đảm bảo tính bảo mật của thông tin.

III. Ưu điểm của filter.

a. Ưu điểm.

- Kiểm soát được request và response.
- Cho phép lập trình viên có thể viết các đoạn mã và phản hồi lại cho phía Client hoặc chuyển yêu cầu đến một địa chỉ khác, tài nguyên khác, cũng có thể phớt lờ yêu cầu (tức là kiểu ông có yêu cầu nhưng mà sai luật pháp cho nên tôi không thực hiện).
- Chính nhờ các ưu điểm và đặc tính trên vì thế nó rất hữu ích trong việc ngăn chặn các yêu cầu trái phép, phá hoại.

IV. Tạo ứng dụng Demo với Filter.

Bước 1: Đầu tiên chúng ta tạo một ứng dụng web với tên là "DemoFilter" và tạo ra 2 trang jsp với tên là: home.jsp và login.jsp. như hình dưới.


Bước 2: Tiếp đó chúng ta viết đoạn mã sau vào trong phần body của trang index.html.

                        Choose a link
                        <a href="home.jsp">Home</a>
                        <a href="login.jsp">Login</a>

Bước 3. Tạo ra một Filter mới bằng cách nhấn phải chuột trên thư mục Source Packages => New => Other => sau đó chọn như hình dưới và đặt Filter với tên là HomeProtecter.


Bước 4: Tiếp theo ở trong Filter HomeProtector ta tìm đến phương thức doFilter sau đó và gõ vào 2 dòng mã sau:

                        RequestDispatcher rd = request.getRequestDispatcher("login.jsp");
                        rd.forward(request, response);

Ok. Vậy là chúng ta đã tạo xong Filter. Filter này sẽ chuyển đến trang login.jsp khi có yêu cầu từ phía người dùng cho dù là click vào link dẫn đến trang home.jsp hay là login.jsp.

Source Code. Download tại đây




























Không có nhận xét nào:

Đăng nhận xét