Apa itu Filter JSP?
- Filter digunakan untuk memfilter fungsionalitas aplikasi web Java.
- Mereka mencegat permintaan dari klien sebelum mencoba mengakses sumber daya
- Mereka memanipulasi tanggapan dari server dan dikirim ke klien.
Jenis Filter di JSP
- Filter otentikasi
- Filter kompresi data
- Filter enkripsi
- Filter rantai MIME
- Filter Logging
- Filter tokenizing
Filter didefinisikan di web.xml, dan mereka adalah peta ke servlet atau JSP. Saat kontainer JSP dimulai dengan aplikasi web, ini membuat instance dari setiap filter yang telah dideklarasikan dalam deskriptor penerapan.
Berikut adalah metode filternya:
-
Kekosongan publik doFilter (ServletRequest, ServletResponse, FilterChain)
Ini dipanggil setiap kali permintaan / respons diteruskan dari setiap klien ketika diminta dari sumber daya.
-
Kekosongan publik init (FilterConfig)
Ini untuk menunjukkan bahwa filter ditempatkan ke dalam layanan
-
Kehancuran public void ()
Ini untuk menunjukkan bahwa filter telah dikeluarkan dari layanan.
Contoh:
Dalam contoh ini, kami telah membuat filter dan dipetakan di web.xml
Gurufilter.java
paket demotest;impor java.io.IOException;import java.util.Date;impor javax.servlet.Filter;impor javax.servlet.FilterChain;impor javax.servlet.FilterConfig;impor javax.servlet.ServletException;import javax.servlet.ServletRequest;impor javax.servlet.ServletResponse;import Javax.servlet.http.HttpServletRequest;Public class GuruFilter mengimplementasikan Filter {public void doFilter (permintaan ServletRequest, respons ServletResponse, rantai Filterchain) melempar IOException, ServletException {// TODO Rintisan metode yang dibuat secara otomatisHttpServletRequest req = (HttpServletRequest) permintaan;String ipAddress = req.getRemoteAddr ();System.out.println ("Alamat IP" + ipAddress + ", Waktu adalah"+ Tanggal baru (). toString ());// teruskan permintaan di sepanjang rantai filterchain.doFilter (permintaan, respons);}/ *** @lihat Filter # init (FilterConfig)* /public void init (FilterConfig fConfig) menampilkan ServletException {String guruparam = fConfig.getInitParameter ("guru-param");// Cetak parameter initSystem.out.println ("Parameter Uji: + guruparam);}}
Web.xml
xml version = "1.0" encoding = "UTF-8"?>uji GuruFilter GuruFilter demotest.GuruFilter guru-param Ini adalah guru paramter GuruFilter / GuruFilter
Penjelasan kode:
Gurufilter.java
Baris Kode 17-32 : Di sini kami menggunakan metode "doFilter" di mana kami mendapatkan objek permintaan (dalam contoh kami, objek permintaan adalah req (objek HttpServletRequest)) dan mendapatkan alamat jarak jauh klien dan mencetak di konsol dan juga mencetak tanggal dan waktu di konsol.
Baris Kode 33-37 : Di sini kita menggunakan metode init di mana kita mengambil parameter init dan mencetak parameter init di konsol.
Web.xml
Baris Kode 10-11 - Memetakan GuruFilter dengan nama kelas GuruFilter.java di mana kita memiliki nama filter sebagai GuruFilter dan kelas filter yang merupakan jalur direktori kelas GuruFilter
Baris Kode 13-15 - Memetakan parameter init bernama guru-param dan mendapatkan nilainya yang ditempatkan di bawah tag filter sehingga init-param ini telah ditentukan untuk gurufilter
Keluaran:
Saat Anda menjalankan kode di atas, Anda mendapatkan output berikut:
- Outputnya adalah Test Param dari parameter init
- Dan mengambil alamat IP, tanggal dan waktunya.