Đô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 webnào đó nếu người dùng không có quyền.. 1/13/2016 H
Trang 1Bếp điện từ Noble NB
Si33 (Đen)
449,000MUA NGAY
Vòi xịt sân vườn thông minh Magic Hose
139,000MUA NGAY
MENU
Trang 2Trang 3
Đô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 webnà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 trang web. Ví dụ như sét đặt mã hóa UTF8 cho trang. Mở và đóng kết nối tới Database vàchuẩn bị giao dịch JDBC (JDBC Transaction)
4 Tạo Project bắt đầu với ServletFilter
Trước hết chúng ta tạo một WebApp project để làm việc với ServletFilter
File/New/Other
Trang 4http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 4/25Nhập vào:
Project Name: ServletFilterTutorial
Trang 51/13/2016 Hướng dẫn sử dụng Java Servlet Filter
Project đã được tạo ra:
Tạo file index.html:
Trang 71/13/2016 Hướng dẫn sử dụng Java Servlet Filter
Trang 8http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 8/25Nhấn phải vào Project chọn:
Run As/Run on Server
Trang 91/13/2016 Hướng dẫn sử dụng Java Servlet Filter
http://localhost:8080/ServletFilterTutorial/
Trang 10+ " ‐ ServletPath :" + servletPath + ", URL =" + req.getRequestURL());
Trang 111/13/2016 Hướng dẫn sử dụng Java Servlet Filter
web.xml
Chạy lại ứng dụng của bạn:
Bạn có thể chạy các đường dẫn sau trên trình duyệt, ở đây có cả những đường dẫn tới các nguồn không hề tồn tại trên WebApp của bạn, tuynhiên nó vẫn chịu tác dụng của LogFilter
<?xml version="1.0" encoding="UTF‐8"?>
<web‐app xmlns:xsi="http://www.w3.org/2001/XMLSchema‐instance"
Trang 14<?xml version="1.0" encoding="UTF‐8"?>
<web‐app xmlns:xsi="http://www.w3.org/2001/XMLSchema‐instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation
Trang 151/13/2016 Hướng dẫn sử dụng Java Servlet Filter
http://example.com/contextPath/test/abc/mnp
*.map http://example.com/contextPath/status/abc.map
http://example.com/contextPath/status.map?date=todayhttp://example.com/contextPath/status/abc.MAP
10 ServletFilter sử dụng Annotation
Các ví dụ ở trên cấu hình Filter trong web.xml, tuy nhiên với Servlet phiên bản 3 trở lên bạn có thể sử dụng Annotation để cấu hình cho Filter.
Ví dụ này minh họa khi người dùng gửi yêu cầu xem một file ảnh ( jpg, png hoặc gif), Filter sẽ kiểm tra xem file ảnh có tồn tại không, trongtrường hợp không tồn tại filter sẽ chuyển hướng yêu cầu tới một file ảnh mặc định
Trang 171/13/2016 Hướng dẫn sử dụng Java Servlet Filter
http://localhost:8080/ServletFilterTutorial/images/path/logo.gif
http://localhost:8080/ServletFilterTutorial/logo/logo.png
Trong ví dụ trên bạn cũng có thể sử dụng Forward thay vì Redirect request tới file ảnh mặc định trong trường hợp file ảnh yêu cầu không tồntại
11 Thiết lập kết nối JDBC trong Filter
Bạn có thể tạo đối tượng Connection kết nối JDBC trong Servlet để sử lý công việc với Database. Tuy nhiên bạn cũng có thể tạo đối tượngConnection kết nối JDBC trong Filter, và nó sẽ có tác dụng với nhiều Servlet. Và bạn có thể sử dụng Connection này trong suốt đường đi củarequest. Để dễ hiểu bạn có thể xem hình minh họa dưới đây:
Trang 24http://o7planning.org/web/fe/default/vi/document/753859/huongdansudungjavaservletfilter 24/25
Máy may mini gia đình ichibai (Trắng)
238,000
Mua ngay
www.lazada.vn
Đèn bàn compact Philips QDS300 GREY(Xám)336,000
Mua ngay
www.lazada.vn
47% 14%
Trang 251/13/2016 Hướng dẫn sử dụng Java Servlet Filter
o7planning.org