Peta Filterping di Web.xml
โก Ringkasan Cerdas
Peta Filterping Dalam file Web.xml, dijelaskan bagaimana filter JSP mencegat permintaan klien dan respons server. Java Aplikasi web. Aplikasi ini mendaftarkan setiap filter dalam deskriptor penyebaran, mengaktifkan otentikasi, pencatatan, kompresi, dan enkripsi sebelum sumber daya diakses.

Apa itu Filter JSP?
- Filter di web.xml digunakan untuk memfilter fungsionalitas Java aplikasi web.
- Mereka mencegat permintaan dari klien sebelum klien mencoba mengakses sumber daya tersebut.
- Mereka memanipulasi tanggapan dari server dan dikirim ke klien.
Filter didefinisikan di web.xml, dan merupakan peta ke servlet atau JSP. Ketika kontainer JSP dimulai dengan aplikasi web, ia menciptakan instance dari setiap filter di web.xml yang telah dideklarasikan dalam deskriptor penerapan.
Jenis Filter di JSP
JSP mendukung beberapa jenis filter, yang masing-masing menangani masalah spesifik dalam siklus permintaan-respons:
- Filter otentikasi
- Filter kompresi data
- Filter enkripsi
- Filter rantai MIME
- Filter Pencatatan
- Filter tokenisasi
Metode Filter JSP
Setelah Anda mengetahui jenis-jenis filter, akan lebih mudah untuk memahami metode-metode yang mengontrol siklus hidup filter. Berikut adalah metode-metode filter tersebut:
Publik void doFilter(ServletRequest, ServletResponse, FilterChain)
Ini dipanggil setiap kali permintaan/respons diteruskan dari setiap klien ketika diminta dari sumber daya.
Init kekosongan publik (FilterConfig)
Ini untuk menunjukkan bahwa filter di JSP telah diaktifkan.
Penghancuran kekosongan publik()
Ini menunjukkan bahwa filter telah dikeluarkan dari layanan.
Example
Dalam contoh ini, kami telah membuat filter dan memetakannya Java filter web.xml.
Gurufilter.java
package demotest; import java.io.IOException; import java.util.Date; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; public class GuruFilter implements Filter { public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // TODO Auto-generated method stub HttpServletRequest req = (HttpServletRequest) request; String ipAddress = req.getRemoteAddr(); System.out.println("IP Address "+ipAddress + ", Time is" + new Date().toString()); // pass the request along the filter chain chain.doFilter(request, response); } /** * @see Filter#init(FilterConfig) */ public void init(FilterConfig fConfig) throws ServletException { String guruparam = fConfig.getInitParameter("guru-param"); //Print the init parameter System.out.println("Test Param: " + guruparam); } }
Web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name> test</display-name> <filter> <description> </description> <display-name> GuruFilter</display-name> <filter-name>GuruFilter</filter-name> <filter-class>demotest.GuruFilter</filter-class> <init-param> <param-name>guru-param</param-name> <param-value>This is guru paramter</param-value> </init-param> </filter> <filter-mapping> <filter-name>GuruFilter</filter-name> <url-pattern>/GuruFilter</url-pattern> </filter-mapping>
Penjelasan kode
Gurufilter.java
Code Baris 17-32: Di sini kita menggunakan metode โdoFilterโ di mana kita mendapatkan objek permintaan (dalam contoh kita, objek permintaannya adalah req (objek HttpServletRequest)) dan mendapatkan alamat jarak jauh klien serta mencetaknya di konsol, termasuk tanggal dan waktu.
Code Baris 33-37: Di sini kita menggunakan metode init di mana kita mengambil parameter init dan mencetak parameter init di konsol.
Web.xml
Code Baris 10-11: Peta filterping di web.xml untuk GuruFilter berdasarkan nama kelas GuruFilter.java di mana kita memiliki filter-name sebagai GuruFilter dan kelas filter yang merupakan jalur direktori dari GuruKelas filter.
Code Baris 13-15: Lokasiping Parameter inisialisasi bernama guru-param dan mendapatkan nilainya yang ditempatkan di bawah tag filter, jadi init-param ini telah didefinisikan untuk gurufilter.
Keluaran:
Ketika Anda menjalankan kode di atas, Anda akan mendapatkan output berikut:
- Outputnya adalah Test Param dari parameter init
- Dan mengambil alamat IP, tanggal dan waktunya.

