[Servlet/JSP] Lập trình Servlet Filter P1: Tại sao cần dùng Servlet Filter?

Đăng bởi: Admin | Lượt xem: 4283 | Chuyên mục: Servlet/JSP

Trong hướng dẫn này chúng ta cùng tìm hiểu Servlet Filter dùng xử lý những tình huống nào khi lập trình Web mở đầu cho chuỗi bài viết về lập trình Servlet Filter.


1- Giới thiệu

Tài liệu được viết dựa trên:

  • Eclipse 4.6 NEON

  • Tomcat 8.x

Bạn cần có kiến thức về Servlet trước khi đọc tài liệu về Servlet-Filter, nếu là người mới bắt đầu, bạn có thể xem Java Servlet tại:

1. Tạo WebProject đầu tiên

2. Cấu hình eclipse

3. Tạo và chạy Servlet đầu tiên

Cùng chuỗi bài viết liên quan đến lập trình Servlet cơ bản từ phần 1 đến phần 6 tại đây.

2- Tại sao cần Server-Filter?

Tình huống 1:

Thông thường khi người dùng yêu cầu một trang web, một request sẽ được gửi tới server, nó sẽ phải đi qua các bộ lọc (Filter) trước khi tới trang yêu cầu, giống hình minh họa dưới đây.

Tình huống 2:

Tuy nhiên có những tình huống request của người dùng không vượt qua được hết các tầng Filter.

Tình huống 3:

Tình huống người dùng gửi yêu cầu một trang (page1), yêu cầu này sẽ phải vượt qua các Filter, tại một filter nào đó yêu cầu bị chuyển hướng sang một trang khác (page2).

Tình huống ví dụ:

  1. Người dùng gửi yêu cầu xem trang thông tin cá nhân.
  2. Request sẽ được gửi tới Server.
  3. Nó vượt qua Filter ghi lại thông tin log.
  4. Nó tới Filter kiểm tra người dùng đã đăng nhập chưa, filter này kiểm tra thấy người dùng chưa đăng nhập, nó chuyển hướng yêu cầu của người dùng sang trang login.

3- Servlet-Filter làm được những gì?

Đôi khi bạn chỉ quan niệm rằng Filter sử dụng để chuyển yêu cầu người dùng tới một trang khác, hoặc ngăn chặn truy cập vào một trang web nào đó nếu người dùng không có quyền. Hoặc sử dụng để ghi lại các thông tin Log.

Trong thực tế Filter có thể sử dụng để mã hóa (encoding) trang web. Ví dụ như sét đặt mã hóa UTF-8 cho trang. Mở và đóng kết nối tới Database và chuẩn bị giao dịch JDBC (JDBC Transaction).

Xem bài viết tiếp theo tại đây.

vncoder logo

Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!



Khóa học liên quan

Khóa học: Servlet/JSP