Ánh xạ bộ lọc Web.xml trong JSP Servlet với ví dụ

Mục lục:

Anonim

Bộ lọc JSP là gì?

  • Bộ lọc được sử dụng cho chức năng lọc của ứng dụng web Java.
  • Họ chặn các yêu cầu từ khách hàng trước khi họ cố gắng truy cập tài nguyên
  • Chúng thao tác các phản hồi từ máy chủ và gửi đến máy khách.

Các loại bộ lọc trong JSP

  • Bộ lọc xác thực
  • Bộ lọc nén dữ liệu
  • Bộ lọc mã hóa
  • Bộ lọc chuỗi MIME
  • Bộ lọc ghi nhật ký
  • Mã hóa bộ lọc

Các bộ lọc được định nghĩa trong web.xml và chúng là một bản đồ tới servlet hoặc JSP. Khi bộ chứa JSP khởi động với ứng dụng web, nó sẽ tạo ra phiên bản của mỗi bộ lọc đã được khai báo trong bộ mô tả triển khai.

Sau đây là các phương pháp lọc:

  • Public void doFilter (ServletRequest, ServletResponse, FilterChain)

    Điều này được gọi là mọi lúc khi một yêu cầu / phản hồi được chuyển từ mọi máy khách khi nó được yêu cầu từ một tài nguyên.

  • Public void init (FilterConfig)

    Điều này cho biết rằng bộ lọc được đưa vào dịch vụ

  • Khoảng trống công khai tiêu diệt ()

    Điều này cho biết bộ lọc đã được đưa ra khỏi dịch vụ.

Thí dụ:

Trong ví dụ này, chúng tôi đã tạo bộ lọc và ánh xạ trong web.xml

Gurufilter.java

gói demo;nhập java.io.IOException;nhập java.util.Date;nhập javax.servlet.Filter;nhập javax.servlet.FilterChain;nhập javax.servlet.FilterConfig;nhập javax.servlet.ServletException;nhập javax.servlet.ServletRequest;nhập javax.servlet.ServletResponse;nhập Javax.servlet.http.HttpServletRequest;lớp công khai GuruFilter triển khai Bộ lọc {public void doFilter (ServletRequest request, ServletResponse response, Filterchain chain) ném IOException, ServletException {// VIỆC CẦN LÀM Sơ khai phương thức được tạo tự độngYêu cầu HttpServletRequest req = (HttpServletRequest);Chuỗi ipAddress = req.getRemoteAddr ();System.out.println ("Địa chỉ IP" + ipAddress + ", Thời gian là"+ new Date (). toString ());// chuyển yêu cầu dọc theo chuỗi bộ lọcchain.doFilter (yêu cầu, phản hồi);}/ *** @see Filter # init (FilterConfig)* /public void init (FilterConfig fConfig) ném ServletException {String guruparam = fConfig.getInitParameter ("guru-param");// In tham số initSystem.out.println ("Tham số thử nghiệm: + guruparam);}}

Web.xml

kiểm tra GuruFilter  GuruFilter  demotest.GuruFilter 
 guru-param 
 Đây là tham số của guru  GuruFilter  / GuruFilter 

Giải thích mã:

Gurufilter.java

Dòng mã 17-32 : Ở đây chúng tôi đang sử dụng phương thức "doFilter" nơi chúng tôi đang nhận đối tượng yêu cầu (trong ví dụ của chúng tôi đối tượng yêu cầu là req (đối tượng HttpServletRequest)) và lấy địa chỉ từ xa của máy khách và in trên bảng điều khiển và cũng in ngày và giờ trên bảng điều khiển.

Dòng mã 33-37 : Ở đây chúng tôi đang sử dụng phương thức init trong đó chúng tôi đang lấy tham số init và in tham số init trong bảng điều khiển.

Web.xml

Dòng mã 10-11 - Ánh xạ GuruFilter với tên lớp GuruFilter.java trong đó chúng tôi có tên bộ lọc là GuruFilter và lớp bộ lọc là đường dẫn thư mục của lớp GuruFilter

Dòng mã 13-15 - Ánh xạ tham số init có tên là guru-param và nhận giá trị của nó được đặt dưới thẻ bộ lọc để init-param này đã được xác định cho gurufilter

Đầu ra:

Khi bạn thực thi đoạn mã trên, bạn nhận được kết quả sau:

  • Đầu ra là Test Param từ tham số init
  • Và tìm nạp địa chỉ IP, ngày và giờ của nó.