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
xml version = "1.0" encoding = "UTF-8"?>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.