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>
<filter-name>MyFilter</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>
<filter-name>MyFilter</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.