Filtreeri kaartping Web.xml-failis

⚡ Nutikas kokkuvõte

Filtreeri kaartping Web.xml-is määratletakse, kuidas JSP filtrid kliendi päringuid ja serveri vastuseid pealt kuulavad Java veebirakendus. See registreerib iga filtri juurutuse deskriptoris, võimaldades autentimist, logimist, tihendamist ja krüptimist enne ressurssidele juurdepääsu.

  • 🧩 Filter määratletud: web.xml komponent, mis filtreerib päringuid ja vastuseid Java veebirakendus.
  • 🔐 Filtri tüübid: Autentimine, andmete tihendamine, krüpteerimine, MIME-ahel, logimine ja tokeniseerimisfiltrid.
  • ⚙️ Elutsükli meetodid: init() käivitab filtri, doFilter() käivitub vastavalt päringule ja destroy() eemaldab selle teenusest.
  • 🗺️ kaartping: Filter ja filtrikaartping sildid seovad filtriklassi a-ga URL muster failis web.xml.
  • 🧪 Näide: GuruFilter logib kliendi IP-aadressi, kuupäeva ja kellaaja ning seejärel edastab päringu filtriahelas.

Filtreeri kaartping Web.xml-failis

Mis on JSP-filtrid?

  • Web.xml-i filtreid kasutatakse funktsioonide filtreerimiseks Java veebirakendus.
  • Nad pealtkuulavad kliendi päringud enne, kui nad ressursile juurde pääsevad.
  • Nad manipuleerivad vastustega serverist ja saadetakse kliendile.

Filtrid on määratletud failis web.xml ja need on servlet- või servletikaardid JSP. Kui JSP-konteiner käivitub veebirakendusega, loob see failis web.xml iga filtri eksemplari, mis on deklareeritud juurutamise deskriptoris.

Filtrite tüübid JSP-s

JSP toetab mitut tüüpi filtreid, millest igaüks käsitleb päringu-vastuse tsüklis kindlat probleemi:

  • Autentimisfiltrid
  • Andmete tihendamise filtrid
  • Krüpteerimisfiltrid
  • MIME kettfiltrid
  • Logimisfiltrid
  • Tokeniseerivad filtrid

JSP filtrimeetodid

Kui filtritüübid on teada, on kasulik mõista meetodeid, mis filtri elutsüklit kontrollivad. Järgnevalt on toodud filtrimeetodid:

Public void doFilter (ServletRequest, Servleti vastus, FilterChain)

Seda kutsutakse iga kord, kui päring/vastus edastatakse igalt kliendilt, kui seda küsitakse ressursist.

Avalik tühine init (FilterConfig)

See näitab, et JSP-s on filter kasutusele võetud.

Avalik tühine hävitamine()

See näitab, et filter on hooldusest välja võetud.

Näide

Selles näites oleme loonud filtri ja kaardistanud Java web.xml-filter.

Gurufilter.java

package 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;


public class GuruFilter implements Filter {

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        // TODO Auto-generated method stub
        HttpServletRequest req = (HttpServletRequest) request;


        String ipAddress = req.getRemoteAddr();
        System.out.println("IP Address "+ipAddress + ", Time is"
                            + new Date().toString());

        // pass the request along the filter chain
        chain.doFilter(request, response);
    }

    /**
    * @see Filter#init(FilterConfig)
    */
    public void init(FilterConfig fConfig) throws ServletException {
    String guruparam = fConfig.getInitParameter("guru-param");

    //Print the init parameter
    System.out.println("Test Param: " + guruparam);
    }
}

Web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>
    test</display-name>
    <filter>
        <description>
        </description>
        <display-name>
        GuruFilter</display-name>
        <filter-name>GuruFilter</filter-name>
        <filter-class>demotest.GuruFilter</filter-class>
        <init-param>
        <param-name>guru-param</param-name>
        <param-value>This is guru paramter</param-value>
    </init-param>
    </filter>
    <filter-mapping>
       <filter-name>GuruFilter</filter-name>
       <url-pattern>/GuruFilter</url-pattern>
    </filter-mapping>

Koodi selgitus

Gurufilter.java

Code Rida 17-32: Siin kasutame meetodit „doFilter”, kus saame päringuobjekti (meie näites on päringuobjekt req (HttpServletRequest objekt)) ja saame kliendi serveri aadressi ning prindime konsoolile ja ka kuupäeva ja kellaaja.

Code Rida 33-37: Siin kasutame init-meetodit, kus võtame init-parameetri ja prindime selle konsoolis välja.

Web.xml

Code Rida 10-11: Filtreeri kaartiping web.xml-is GuruFiltreeri klassi nimega GuruFilter.java, kus meil on filtri nimi GuruFilter ja filtriklass, mis on kataloogi tee GuruFiltri klass.

Code Rida 13-15: kaartping init-parameeter nimega guru-param ja selle väärtuse hankimine, mis paigutatakse filtri sildi alla, seega on see init-parameeter gurufilteri jaoks defineeritud.

Väljund:

Kui käivitate ülaltoodud koodi, saate järgmise väljundi:

JSP filtrimeetodid

  • Väljundiks on init parameetri Test Param
  • Ja selle IP-aadressi, kuupäeva ja kellaaja toomine.

KKK

Servlet tegeleb päringuga ja genereerib sellele vastuse, samal ajal kui filter pealtkuulab päringuid ja vastuseid eel- või järeltöötluseks, näiteks autentimiseks või logimiseks, ilma lõplikku vastust ise loomata.

Filtrid käivituvad nende filtrikaardi järjekorrasping Kirjed ilmuvad failis web.xml. Konteiner aheldab need, nii et esimene kaardistatud filter käivitub päringu puhul esimesena ja vastuse puhul viimasena.

JSP-filtril on kolm elutsükli meetodit: init() filtri initsialiseerimiseks, doFilter() iga päringu ja vastuse töötlemiseks ning destroy() ressursside vabastamiseks, kui filter teenusest eemaldatakse.

Tehisintellekt saab virna analüüsida traces, tuvasta vale filtrikaartping järjekord, puuduvate init-parameetrite soovitamine ja doFilteri loogika jõudluse kitsaskohtade tuvastamine, helping Arendajad lahendavad filtriprobleeme testimise ja koodi ülevaatamise ajal kiiremini.

Jah. Tehisintellekt saab genereerida web.xml-filtri ja filtrikaardi.ping kirjed soovitud käitumise kirjeldusest, sealhulgas URL mustrid ja init-parameetrid, mida arendajad seejärel oma rakenduse jaoks üle vaatavad ja kohandavad.

Võta see postitus kokku järgmiselt: