Web.xml Filtertoewijzing in JSP-servlet met voorbeeld

Inhoudsopgave:

Anonim

Wat is JSP-filter?

  • Filters worden gebruikt voor het filteren van functionaliteit van de Java-webapplicatie.
  • Ze onderscheppen de verzoeken van de klant voordat ze proberen toegang te krijgen tot de bron
  • Ze manipuleren de reacties van de server en worden naar de klant gestuurd.

Typen filters in JSP

  • Authenticatiefilters
  • Gegevenscompressiefilters
  • Versleutelingsfilters
  • MIME-kettingfilters
  • Filters voor logboekregistratie
  • Tokeniserende filters

Filters worden gedefinieerd in web.xml en zijn een toewijzing aan servlet of JSP. Wanneer de JSP-container begint met de webtoepassing, wordt de instantie gemaakt van elk filter dat is gedeclareerd in de Deployment-descriptor.

Hieronder volgen de filtermethoden:

  • Openbare leegte doFilter (ServletRequest, ServletResponse, FilterChain)

    Dit wordt elke keer aangeroepen wanneer een verzoek / antwoord wordt doorgegeven van elke client, wanneer het wordt aangevraagd vanuit een bron.

  • Public void init (FilterConfig)

    Dit is om aan te geven dat het filter in gebruik wordt genomen

  • Openbare leegte vernietigen ()

    Dit om aan te geven dat het filter uit dienst is genomen.

Voorbeeld:

In dit voorbeeld hebben we een filter gemaakt en in kaart gebracht in web.xml

Gurufilter.java

pakket demotest;importeer java.io.IOException;importeer java.util.Date;importeer javax.servlet.Filter;importeer javax.servlet.FilterChain;importeer javax.servlet.FilterConfig;importeer javax.servlet.ServletException;importeer javax.servlet.ServletRequest;importeer javax.servlet.ServletResponse;Javax.servlet.http.HttpServletRequest importeren;openbare klasse GuruFilter implementeert Filter {public void doFilter (ServletRequest-verzoek, ServletResponse-antwoord, Filterchain-keten) gooit IOException, ServletException {// TODO Automatisch gegenereerde methodestubHttpServletRequest req = (HttpServletRequest) verzoek;String ipAddress = req.getRemoteAddr ();System.out.println ("IP Address" + ipAddress + ", Time is"+ nieuwe datum (). toString ());// geef het verzoek door langs de filterketenchain.doFilter (verzoek, antwoord);​​* @zie Filter # init (FilterConfig)​public void init (FilterConfig fConfig) gooit ServletException {String guruparam = fConfig.getInitParameter ("guru-param");// Druk de init-parameter afSystem.out.println ("Testparameter: + guruparam);​​

Web.xml

test GuruFilter  GuruFilter  demotest.GuruFilter 
 guru-param 
 Dit is de goeroe-parameter  GuruFilter  / GuruFilter 

Uitleg van de code:

Gurufilter.java

Coderegel 17-32 : hier gebruiken we de "doFilter" -methode waarbij we een verzoekobject krijgen (in ons voorbeeld is het verzoekobject req (HttpServletRequest-object)) en het externe adres van de client ophalen en afdrukken op de console en ook afdrukken datum en tijd op de console.

Coderegel 33-37 : hier gebruiken we de init-methode waarbij we de init-parameter nemen en de init-parameter in de console afdrukken.

Web.xml

Coderegel 10-11 - Mapping van het GuruFilter met de klassenaam GuruFilter.java waar we filternaam hebben als GuruFilter en filterklasse die het mappad is van de GuruFilter-klasse

Coderegel 13-15 - Het toewijzen van de init-parameter met de naam guru-param en het ophalen van de waarde ervan die onder de filter-tag wordt geplaatst, zodat deze init-param is gedefinieerd voor gurufilter

Uitgang:

Als je de bovenstaande code uitvoert, krijg je de volgende output:

  • De uitvoer is Test Param van de init-parameter
  • En het ophalen van IP-adres, datum en tijd ervan.