Pemetaan Filter Web.xml di JSP Servlet dengan Contoh

Daftar Isi:

Anonim

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

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.