Computer >> Máy Tính >  >> Lập trình >> Lập trình

Làm thế nào để bạn xác định nhiều bộ lọc trong JSP?

Ứng dụng web của bạn có thể xác định một số bộ lọc khác nhau với một mục đích cụ thể. Hãy xem xét, bạn xác định hai bộ lọc AuthenFilter LogFilter . Phần còn lại của quá trình sẽ vẫn như được giải thích ở trên ngoại trừ bạn cần tạo một ánh xạ khác như được đề cập bên dưới -

<filter>
   <filter-name>LogFilter</filter-name>
   <filter-class>LogFilter</filter-class>
   <init-param>
      <param-name>test-param</param-name>
      <param-value>Initialization Paramter</param-value>
   </init-param>
</filter>
<filter>
   <filter-name>AuthenFilter</filter-name>
   <filter-class>AuthenFilter</filter-class>
   <init-param>
      <param-name>test-param</param-name>
      <param-value>Initialization Paramter</param-value>
   </init-param>
</filter>
<filter-mapping>
   <filter-name>LogFilter</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
   <filter-name>AuthenFilter</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>

Thứ tự đăng ký bộ lọc

Thứ tự của các phần tử ánh xạ bộ lọc trong web.xml xác định thứ tự trong đó vùng chứa web áp dụng bộ lọc cho servlet hoặc JSP. Để đảo ngược thứ tự của bộ lọc, bạn chỉ cần đảo ngược các phần tử ánh xạ bộ lọc trong web.xml tệp.

Ví dụ, ví dụ trên sẽ áp dụng LogFilter trước và sau đó nó sẽ áp dụng AuthenFilter cho bất kỳ servlet hoặc JSP nào; ví dụ sau sẽ đảo ngược thứ tự -

<filter-mapping>
   <filter-name>AuthenFilter</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
   <filter-name>LogFilter</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>