Hirdetés

Új hozzászólás Aktív témák

  • modder
    aktív tag

    A következőt nem értem a Java alapú webalkalmazások szűrőjénél, hogy miért kapja meg a legutolsóként alkalmazott szűrő az előállított választ és megy végig fordított sorrendben a szűrőkön? Lehet alap dolog, de nem tiszta :/

    "A kérés mindig először a webkonténerhez érkezik, amely előfel-
    dolgozást végezhet a kérésen. Ezután a webkonténer ellenőrzi a kérés
    URL alapján, hogy kell-e szűrőt alkalmaznia a kérésre. Az URL mintára
    illeszkedő szűrőket a webkonténer egymás után alkalmazza a kérésre.
    Ha mindez hibamentes volt, akkor a szűrők után átkerül a kérés a cél
    webkomponenshez, a mi esetünkben ez most egy szervlet. A szervlet
    az előállított választ a legutolsóként alkalmazott szűrőhöz továbbítja,
    majd végigmegy fordított sorrendben a szűrőkön, és végül visszakerül a
    webkonténerhez." [forrás]

    http://viralpatel.net/blogs/tutorial-java-servlet-filter-example-using-eclipse-apache-tomcat/

    A filter kódjában chain.doFilter(req, res); a következő filtert hívja meg, legvégül a szervletet. Buta megfogalmazás. Nem végig megy fordított sorrendben a szűrőkön, egyszerűen visszatér mindegyik szűrő chain.doFilter(req, res); metódusával, így tehát amit ez után a sor után írsz, az mindig a sorban következő szűrő (legvégül a szervlet) meghívása UTÁN történik.
    Így lehet az előállított választ módosítani.

Új hozzászólás Aktív témák