Web.xml-Filterzuordnung im JSP-Servlet mit Beispiel

Inhaltsverzeichnis:

Anonim

Was ist JSP-Filter?

  • Filter werden zum Filtern der Funktionalität der Java-Webanwendung verwendet.
  • Sie fangen die Anforderungen des Clients ab, bevor sie versuchen, auf die Ressource zuzugreifen
  • Sie bearbeiten die Antworten vom Server und senden sie an den Client.

Arten von Filtern in JSP

  • Authentifizierungsfilter
  • Datenkomprimierungsfilter
  • Verschlüsselungsfilter
  • MIME-Kettenfilter
  • Protokollierungsfilter
  • Tokenisierungsfilter

Filter sind in web.xml definiert und stellen eine Zuordnung zu Servlet oder JSP dar. Wenn der JSP-Container mit der Webanwendung beginnt, wird die Instanz jedes Filters erstellt, der im Bereitstellungsdeskriptor deklariert wurde.

Es folgen die Filtermethoden:

  • Public void doFilter (ServletRequest, ServletResponse, FilterChain)

    Dies wird jedes Mal aufgerufen, wenn eine Anforderung / Antwort von jedem Client übergeben wird, wenn sie von einer Ressource angefordert wird.

  • Public void init (FilterConfig)

    Dies soll anzeigen, dass der Filter in Betrieb genommen wird

  • Öffentliche Leere zerstören ()

    Dies zeigt an, dass der Filter außer Betrieb genommen wurde.

Beispiel:

In diesem Beispiel haben wir einen Filter erstellt und in der Datei web.xml zugeordnet

Gurufilter.java

Paket Demotest;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;öffentliche Klasse GuruFilter implementiert Filter {public void doFilter (ServletRequest-Anforderung, ServletResponse-Antwort, Filterchain-Kette) löst IOException, ServletException {aus// TODO Automatisch generierter MethodenstubHttpServletRequest req = (HttpServletRequest) request;String ipAddress = req.getRemoteAddr ();System.out.println ("IP-Adresse" + ipAddress + ", Zeit ist"+ neues Datum (). toString ());// Übergebe die Anfrage entlang der Filterkettechain.doFilter (Anfrage, Antwort);}}/ *** @see Filter # init (FilterConfig)* /public void init (FilterConfig fConfig) löst ServletException aus {String guruparam = fConfig.getInitParameter ("guru-param");// Den init-Parameter druckenSystem.out.println ("Test Param: + Guruparam);}}}}

Web.xml

test GuruFilter  GuruFilter  demotest.GuruFilter 
 guru-param 
 Dies ist der Guru-Parameter  GuruFilter  / GuruFilter 

Erläuterung des Codes:

Gurufilter.java

Codezeile 17-32 : Hier verwenden wir die "doFilter" -Methode, bei der wir das Anforderungsobjekt abrufen (in unserem Beispiel ist das Anforderungsobjekt req (HttpServletRequest-Objekt)) und die Remote-Adresse des Clients abrufen und auf der Konsole drucken und auch drucken Datum und Uhrzeit auf der Konsole.

Codezeile 33-37 : Hier verwenden wir die Init-Methode, bei der wir den Init-Parameter verwenden und den Init-Parameter in der Konsole drucken.

Web.xml

Codezeile 10-11 - Zuordnung des GuruFilter zum Klassennamen GuruFilter.java, wobei der Filtername als GuruFilter und die Filterklasse als Verzeichnispfad der GuruFilter-Klasse verwendet werden

Codezeile 13-15 - Zuordnung des Init-Parameters mit dem Namen guru-param und Abrufen des Werts, der unter dem Filter-Tag platziert wird, sodass dieser Init-Parameter für gurufilter definiert wurde

Ausgabe:

Wenn Sie den obigen Code ausführen, erhalten Sie die folgende Ausgabe:

  • Die Ausgabe ist Test Param vom Parameter init
  • Und IP-Adresse, Datum und Uhrzeit abrufen.