Mapeamento de Filtro Web.xml no Servlet JSP com Exemplo

Índice:

Anonim

O que é o filtro JSP?

  • Os filtros são usados ​​para filtrar a funcionalidade do aplicativo da web Java.
  • Eles interceptam as solicitações do cliente antes de tentarem acessar o recurso
  • Eles manipulam as respostas do servidor e as enviam ao cliente.

Tipos de filtros em JSP

  • Filtros de autenticação
  • Filtros de compressão de dados
  • Filtros de criptografia
  • Filtros de cadeia MIME
  • Filtros de registro
  • Filtros de tokenização

Os filtros são definidos em web.xml e são um mapa para servlet ou JSP. Quando o contêiner JSP inicia com o aplicativo da web, ele cria a instância de cada filtro que foi declarado no descritor de implementação.

A seguir estão os métodos de filtro:

  • Public void doFilter (ServletRequest, ServletResponse, FilterChain)

    Isso é chamado sempre que uma solicitação / resposta é passada de cada cliente quando é solicitada de um recurso.

  • Public void init (FilterConfig)

    Isso é para indicar que o filtro é colocado em serviço

  • Público void destroy ()

    Isso para indicar que o filtro foi retirado de serviço.

Exemplo:

Neste exemplo, criamos filtro e mapeamos em web.xml

Gurufilter.java

pacote 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 implementa Filter {public void doFilter (solicitação ServletRequest, resposta ServletResponse, cadeia Filterchain) lança IOException, ServletException {// TODO stub do método gerado automaticamenteHttpServletRequest req = (HttpServletRequest) request;String ipAddress = req.getRemoteAddr ();System.out.println ("Endereço IP" + ipAddress + ", Hora é"+ nova data (). toString ());// passe a solicitação ao longo da cadeia de filtroschain.doFilter (solicitação, resposta);}/ *** @ver Filter # init (FilterConfig)* /public void init (FilterConfig fConfig) throws ServletException {String guruparam = fConfig.getInitParameter ("guru-param");// Imprime o parâmetro initSystem.out.println ("Parâmetros de teste: + guruparam);}}

Web.xml

teste GuruFilter  GuruFilter  demotest.GuruFilter 
 guru-param 
 Este é o parâmetro do guru  GuruFilter  / GuruFilter 

Explicação do código:

Gurufilter.java

Linha de código 17-32 : Aqui estamos usando o método "doFilter" onde estamos obtendo o objeto de solicitação (em nosso exemplo, o objeto de solicitação é req (objeto HttpServletRequest)) e obtemos o endereço remoto do cliente e imprimindo no console e também imprimindo data e hora no console.

Linha de código 33-37 : Aqui estamos usando o método init, onde pegamos o parâmetro init e imprimimos o parâmetro init no console.

Web.xml

Linha de código 10-11 - Mapeando o GuruFilter com o nome da classe GuruFilter.java onde temos o nome do filtro como GuruFilter e a classe do filtro que é o caminho do diretório da classe GuruFilter

Linha de código 13-15 - Mapeando o parâmetro init denominado guru-param e obtendo o valor dele que é colocado sob a tag de filtro, então este init-param foi definido para gurufilter

Resultado:

Ao executar o código acima, você obtém a seguinte saída:

  • A saída é o parâmetro de teste do parâmetro init
  • E buscar endereço IP, data e hora.