Örnekle JSP Servlet'te Web.xml Filtre Haritalama

İçindekiler:

Anonim

JSP Filtresi nedir?

  • Filtreler, Java web uygulamasının filtreleme işlevi için kullanılır.
  • Kaynağa erişmeye çalışmadan önce istemciden gelen istekleri yakalarlar
  • Sunucudan gelen yanıtları değiştirip istemciye gönderirler.

JSP'de Filtre Türleri

  • Kimlik doğrulama filtreleri
  • Veri sıkıştırma filtreleri
  • Şifreleme filtreleri
  • MIME zincir filtreleri
  • Günlük Filtreleri
  • Jetonlama filtreleri

Filtreler web.xml'de tanımlanır ve sunucu uygulaması veya JSP'ye eşlemedir. JSP kapsayıcısı web uygulamasıyla başladığında, dağıtım tanımlayıcısında bildirilen her filtrenin örneğini oluşturur.

Aşağıda filtre yöntemleri verilmiştir:

  • Genel void doFilter (ServletRequest, ServletResponse, FilterChain)

    Bu, her istemciden bir kaynaktan talep edildiğinde bir istek / yanıt iletildiğinde çağrılır.

  • Genel void init (FilterConfig)

    Bu, filtrenin hizmete girdiğini belirtmek içindir.

  • Genel void yok etme ()

    Bu, filtrenin kullanımdan kaldırıldığını gösterir.

Misal:

Bu örnekte, web.xml'de filtre oluşturduk ve eşleştirdik.

Gurufilter.java

paket demotest;java.io.IOException'ı içe aktarın;içe aktar 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, Filter {public void doFilter (ServletRequest isteği, ServletResponse yanıtı, Filterchain zinciri) IOException, ServletException {// TODO Otomatik oluşturulan yöntem saplamasıHttpServletRequest req = (HttpServletRequest) isteği;Dize ipAddress = req.getRemoteAddr ();System.out.println ("IP Adresi" + ipAddress + ", Saat"+ new Date (). toString ());// isteği filtre zinciri boyunca iletchain.doFilter (istek, yanıt);}/ *** @ bkz. Filter # init (FilterConfig)* /public void init (FilterConfig fConfig) ServletException {Dize guruparam = fConfig.getInitParameter ("guru-param");// init parametresini yazdırınSystem.out.println ("Test Parametresi: + guruparam);}}

Web.xml

test GuruFilter  GuruFilter  demotest.GuruFilter 
 guru-param 
 Bu bir guru parametresidir  GuruFilter  / GuruFilter 

Kodun açıklaması:

Gurufilter.java

Kod Satırı 17-32 : Burada istek nesnesini aldığımız (örneğimizde istek nesnesi req (HttpServletRequest nesnesi)) ve istemcinin uzak adresini aldığımız ve konsolda yazdırdığımız ve ayrıca yazdırdığımız "doFilter" yöntemini kullanıyoruz konsoldaki tarih ve saat.

Kod Satırı 33-37 : Burada init parametresini aldığımız ve konsolda init parametresini yazdırdığımız init yöntemini kullanıyoruz.

Web.xml

Kod Satırı 10-11 - GuruFilter sınıfının GuruFilter.java sınıf adıyla eşlenmesi, burada GuruFilter olarak filtre adını ve GuruFilter sınıfının dizin yolu olan filtre sınıfı

Code Line 13-15 - guru-param adlı init parametresinin eşleştirilmesi ve filtre etiketinin altına yerleştirilen değerinin alınması, böylece bu init-param gurufilter için tanımlanmıştır.

Çıktı:

Yukarıdaki kodu çalıştırdığınızda, aşağıdaki çıktıyı alırsınız:

  • Çıkış, init parametresinden Test Param'dır
  • Ve IP adresini, tarihini ve saatini alıyorum.