na sua pasta de origem do projeto. Eu criei o pacote net.viralpatel.servlet.filters. Dentro do pacote, crie uma classe Java chamada LogFilter.java. * Neste ponto gostaria de adicionar algo mais pratico: o eclipse padrao que baixamos no site oficial vem com alguns puglins interessantes e um deles permite criar Servlet Filter de forma mais facil e rapida. Na perpectiva Java EE temos a opcao de adicionar filtros ao projeto e ao cria-lo, o mesmo ja cria a classe filter, que daremos o nome de LogFilter, e ainda faz o mapeamento da mesma no nosso arquivo web.xml Next > Next > Finish e abaixo segue o codigo gerado pelo Eclipse (sem a documentacao):package net.viralpatel.servlet.filters;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;public class LogFilter implements Filter { public LogFilter() { } public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { chain.doFilter(request, response); } public void init(FilterConfig fConfig) throws ServletException { }}Etapa 3: Escrevendo o codigo da nossa classe Servlet Filter.Vamos modificar o metodo doFilter e o metodo init para que possamos executar nossa logica: public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; //Pega o endereco IP da maquina do cliente. String ipAddress = req.getRemoteAddr(); //Loga o endereco IP e o horario atual. System.out.println("IP "+ipAddress + ", Time " + new Date().toString()); chain.doFilter(request, response); } public void init(FilterConfig fConfig) throws ServletException { //Pega os parametros iniciais String testParam = config.getInitParameter("test-param"); //Imprime os parametros iniciais System.out.println("Test Param: " + testParam); }}Neste exemplo de filtro, implementamos a interface javax.servlet.Filter e substituimos os metodos init, doFilter e destroy.O metodo init () e usado para inicializar qualquer codigo que e usado pelo filtro. Observe tambem que, o metodo init () ira receber um objeto de filterConfig que contem informacoes de diferentes niveis de filtro, bem como parametros de inicializacao que sao passadas ao web.xml (deployment descriptor).O metodo doFilter () e quem realmente fara o registro das informacoes. Voce pode modificar esse metodo e adicionar o seu codigo, que pode modificar request / sessao / resposta, adicione algum atributo no pedido, etc.O metodo destroy () e chamado pelo container quando quer recolher lixo do filtro. Isso geralmente e feito quando o filtro nao for usada por muito tempo e servidor quer alocar memoria para outras aplicacoes. Hehehehe, aqui nao fizemos nada.Etapa 4: Criar o mapenamento do Servlet Filter no web.xml (nao e necessario)Como o Eclipse ja fez esse favor pra nos vou apenas exibir o conteudo gerado: <filter> <display-name>LogFilter</display-name> <filter-name>LogFilter</filter-name> <filter-class>net.viralpatel.servlet.filters.LogFilter</filter-class> </filter> <filter-mapping> <filter-name>LogFilter</filter-name> <url-pattern>/LogFilter</url-pattern> </filter-mapping> Para ver o arquivo web.xml gerado acesse em seu projeto a pasta WebContent/WEB-INFEtapa 5: Executando a aplicacao WebFinalizamos a parte da codificacao do exemplo de Servlet Filter. Agora execute o projeto no Eclipse:Acesse no menu Run -> Run As -> Run on server (atalho Alt + Shift + X, R).Verifique o console e voce vera na saida a impressao gerada pelo System.out. Altere o codigo da maneira que voce quiser e veja o trabalho que seu filtro realiza. O filtro e muito interessante para executarmos tarefas de verificacao