Download - DAWJ - Filtros
DAWJ - FILTROS
Prof. Antonio Passos
http://ead.antoniopassos.com.br
FILTRO – CONTEÚDO
Conceito
Concatenação
Funcionamento
Aplicações
API
Anatomia
Mapeamento
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.
FILTRO - CONCATENAÇÃO
Filtros podem ser concatenados, ou encadeados, de
modo a permitir que uma requisição/resposta passe por
mais de um.
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).
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)
FILTRO - API
Interface/Classe Métodos
javax.servlet.Filter •void init(FilterConfig filterConfig)
•void doFilter(ServletRequest request,
ServletResponse response, FilterChain chain)
•void destroy()
javax.servlet.FilterChain •doFilter(ServletRequest request, ServletResponse
response)
javax.servlet.FilterConfig •String getFilterName()
•String getInitParameter(String name)
•Enumeration getInitParameterNames()
•ServletContext getServletContext()
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).
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().
FILTRO - MAPEAMENTO