Hvordan bruke filtre i Struts

Hvordan bruke filtre i Struts


Filtre er en Java servlet komponent som fange opp og kan endre web server forespørsler og svar. Filtre blir ofte brukt til å gjennomføre sikkerhetskontroller som avgjør om en bruker skal få lov til å få tilgang til en nettside. Filtre er enkel å implementere Java-klasser som kan konfigureres til å avskjære forespørsler med noen få linjer med XML-kode.

Bruksanvisning

1 Lag en dynamisk web-prosjekt i Eclipse.

2 Lag en pakke for filteret klasse på den første linjen i en ny Java-klassen filen:

pakke com.ehow.servlet.filters;

3 Importer java pakker som støtter filtre og andre standardfunksjoner:

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;

4 Implementere et filter klasse og lagre filen som "MyFilter.java":

public class MyFilter implementerer Filter {

public void doFilter(ServletRequest req, ServletResponse res,

FilterChain kjeden) kaster IOException, ServletException {

HttpServletRequest request = (HttpServletRequest) req;

// SETT INN KODEN HER

chain.doFilter (req, res);

}

public void init (FilterConfig config) kaster ServletException {

// PERFORM IGANGSETTING HER

}

public void ødelegge () {

// Slipper alle RESSURSER

}

}

5 Lag en kartlegging av filterklasse i web.xml filen, ved hjelp av "/ *" som webadressemønsteret å rute alle forespørsler til MyFilter klasse:

<Filter>

&lt;filter-name>MyFilter&lt;/filter-name>

& Lt; filter-klasse>

com.ehow.servlet.filters.MyFilter

& Lt; / filter-class>

& Lt; init-param>

& Lt; param navn> minparam & lt; / param navn>

& Lt; param-verdi> Eksempel inndataparameteren & lt; / param-verdi>

& Lt; / init-param>

</ Filter>

<Filter-mapping>

&lt;filter-name>MyFilter&lt;/filter-name>

& Lt; url-mønster> / * & lt; / url-mønster>

</ Filter-mapping>

6 Bruk "getInitParameter" metode for config objektet sendes til Init funksjon for å hente den angitte verdien for parameterne i web.xml filen:

public void init(FilterConfig config) throws ServletException {

String myString = config.getInitParameter ( "minparam");

}

7 Gjennomføre prosjektet ved hjelp av "Kjør> Kjør som> Kjør på server" menyvalg ved hjelp av debugger eller andre virkemidler som utskrift til en logg, for å kontrollere at filteret kode er avskjære web server forespørsler.