Pemetaan Penapis Web.xml dalam Servlet JSP dengan Contoh

Isi kandungan:

Anonim

Apa itu JSP Filter?

  • Penapis digunakan untuk menyaring fungsi aplikasi web Java.
  • Mereka memintas permintaan daripada pelanggan sebelum mereka cuba mengakses sumber
  • Mereka memanipulasi tindak balas dari pelayan dan dihantar ke pelanggan.

Jenis Penapis di JSP

  • Penapis pengesahan
  • Penapis pemampatan data
  • Penapis penyulitan
  • Penapis rantai MIME
  • Penapis Log
  • Penapis token

Penapis didefinisikan dalam web.xml, dan mereka adalah peta untuk servlet atau JSP. Apabila wadah JSP bermula dengan aplikasi web, ia membuat contoh setiap penapis yang telah dinyatakan dalam penerangan penerapan.

Berikut adalah kaedah penapis:

  • DoFilter kekosongan awam (ServletRequest, ServletResponse, FilterChain)

    Ini disebut setiap kali permintaan / respons disampaikan dari setiap pelanggan ketika diminta dari sumber.

  • Init kekosongan awam (FilterConfig)

    Ini untuk menunjukkan bahawa penapis diletakkan dalam perkhidmatan

  • Kekosongan awam memusnahkan ()

    Ini menunjukkan bahawa penapis telah dikeluarkan dari perkhidmatan.

Contoh:

Dalam contoh ini, kami telah membuat penapis dan dipetakan di web.xml

Gurufilter.java

demotest pakej;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;GuruFilter kelas awam melaksanakan Penapis {doFilter void awam (permintaan ServletRequest, respons ServletResponse, rantai Filterchain) melemparkan IOException, ServletException {// TODO Kaedah penjanaan automatikPermintaan HttpServletRequest req = (HttpServletRequest);Rentetan ipAddress = req.getRemoteAddr ();System.out.println ("Alamat IP" + ipAddress + ", Masa adalah"+ Tarikh baru (). keString ());// lulus permintaan di sepanjang rantai penapischain.doFilter (permintaan, tindak balas);}/ *** @sihat Filter # init (FilterConfig)* /init kekosongan awam (FilterConfig fConfig) melemparkan ServletException {String guruparam = fConfig.getInitParameter ("guru-param");// Cetak parameter initSystem.out.println ("Param Uji: + guruparam);}}

Web.xml


ujian 
GuruFilter  GuruFilter  demotest.GuruFilter 
 guru-param 
 Ini adalah parameter guru  GuruFilter  / GuruFilter 

Penjelasan kod:

Gurufilter.java

Baris Kod 17-32 : Di sini kita menggunakan kaedah "doFilter" di mana kita mendapatkan objek permintaan (dalam contoh kita objek permintaan adalah req (objek HttpServletRequest)) dan dapatkan alamat jauh klien dan mencetak di konsol dan juga mencetak tarikh dan masa di konsol.

Baris Kod 33-37 : Di sini kita menggunakan kaedah init di mana kita mengambil parameter init dan mencetak parameter init di konsol.

Web.xml

Baris Kod 10-11 - Memetakan GuruFilter dengan nama kelas GuruFilter.java di mana kita mempunyai nama penapis sebagai GuruFilter dan kelas penapis yang merupakan laluan direktori kelas GuruFilter

Baris Kod 13-15 - Memetakan parameter init bernama guru-param dan mendapatkan nilai yang diletakkan di bawah tag penapis sehingga init-param ini telah didefinisikan untuk gurufilter

Pengeluaran:

Apabila anda melaksanakan kod di atas, anda mendapat output berikut:

  • Outputnya adalah Test Param dari parameter init
  • Dan mengambil alamat IP, tarikh dan masa ia.