Apresentação integrante dos materiais didáticos do curso DAWJ - Desenvolvimento de Aplicativos Web com Servlet e JavaServer Pages, um dos cursos totalmente a distância oferecidos pelo prof. Antonio Passos. Para mais informações, acesse http://www.antoniopassos.com/.
3. FILTRO - CONCEITO
Filtros são componentes do lado servidor que interceptam
requisições e respostas, sendo totalmente transparentes para
os clientes e para os servlets.
• Filtros permitem que se acesse os objetos
HTTPServletRequest e HTTPServletResponse antes dos
servlets.
4. FILTRO - CONCATENAÇÃO
Filtros podem ser concatenados, ou encadeados, de
modo a permitir que uma requisição/resposta passe por
mais de um.
5. FILTRO - FUNCIONAMENTO
Quando o servidor recebe a solicitação de um recurso,
ele verifica se existe um filtro (ou cadeia de filtros)
associado ao recurso. Caso exista, ele direciona a
requisição para o filtro correspondente. Este processa a
requisição e, em seguida, ...
Gera a resposta ele mesmo;
Repassar a requisição (modificada ou não) para o próximo
filtro ou
Repassa a requisição (modificada ou não) para o recurso
solicitado (frequentemente um servlet).
6. FILTRO –APLICAÇÕES
Tomada de decisões
Podem decidir se repassam uma requisição adiante, se
redirecionam ou se enviam uma resposta interrompendo o
caminho normal da requisição
Tratamento de requisições e respostas
Podem empacotar uma requisição (ou resposta) em outra,
alterando os dados e o conteúdo dos cabeçalhos.
Exemplos
Autenticação;
Log;
Auditoria
Conversão de imagem;
Compressão
Criptografia;
Localização (Internacionalização)
8. FILTRO - ANATOMIA
Todos os filtros devem implementar a interface
javax.servlet.Filter e
Todos os filtros devem ser corretamente mapeados no
descritor da aplicação (arquivo web.xml).
9. FILTRO - ANATOMIA
Um filtro nada mais é que uma classe que implementa a
interface javax.servlet.Filter - e, consequentemente, os
métodos init(), destroy() e doFilter().