HTML Tutorials |
|
XML Tutorials |
|
Browser Scripting |
|
Server Scripting |
|
.NET (dotnet) |
|
Multimedia |
|
Web Building |
|
Java Tutorials |
|
Programming Langauges |
|
Soft Skills |
|
Database Tutorials |
|
Operating System |
|
Software Testing |
|
SAP Module |
|
Networking Programming |
|
Microsoft Office |
|
Accounting |
|
|
A versão 2.3 da especificação de Java Servlet introduz um tipo componente novo, chamado um filtro.
Um filtro intercepta dinâmicamente os pedidos e as respostas transformar ou usar a informação contida nos pedidos ou nas respostas.
Os filtros tipicamente eles mesmos não críam respostas, mas fornecem preferivelmente as funções universais que podem “ser unidas” a qualquer tipo do servlet ou de página de JSP.
|
Importância dos filtros em Servlet
|
Os filtros são os importantes para um número de razões.
Primeiramente, fornecem a abilidade encapsulate tarefas retornando em unidades reusáveis. Os colaboradores organizados estão constantemente no lookout para maneiras modularize seu código. O código modular é mais manageable e documentable, é mais fácil de eliminar erros, e se feito bem, pode reúso no outro que ajusta-se.
Em segundo, os filtros podem ser usados transformar a resposta de um servlet ou de uma página de JSP. Uma tarefa comum para a aplicação da correia fotorreceptora é formatar os dados emitidos para trás ao cliente. Cada vez mais os clientes requerem o formato (por exemplo, WML) à excepção do HTML justo. Para acomodar estes clientes, há geralmente um componente forte da transformação ou de filtrar no caracterizado inteiramente a aplicação da correia fotorreceptora. Muitos servlets e os recipientes de JSP introduziram mecanismos proprietários do filtro, tendo por resultado um ganho para o colaborador que se desdobra nesse recipiente, mas reduzir o reusability de tal código. Com a introdução dos filtros como parte da especificação de Java Servlet, os colaboradores têm agora a oportunidade de escrever os componentes reusáveis da transformação que são portáteis através dos recipientes.
|
Função dos filtros
|
Os filtros podem executar muitos tipos diferentes de função:
|
Método dos filtros
|
O método o mais importante na relação do filtro é o método do doFilter, que é o coração do filtro. Este método executa geralmente algumas das seguintes ações:
Examina os encabeçamentos do pedido
Customizes o objeto do pedido se desejar modificar encabeçamentos ou dados do pedido ou obstruir inteiramente o pedido
Invoca a entidade seguinte na corrente do filtro.
Customizes o objeto da resposta se desejar modificar encabeçamentos ou dados da resposta
Se o filtro atual for o último filtro na corrente que termina com o servlet do alvo, a entidade seguinte é o recurso na extremidade da corrente; se não, é o filtro seguinte que foi configurado na GUERRA. Invoca a entidade seguinte chamando o método do doFilter no objeto chain (passando no pedido e na resposta foi chamado com, ou as versões que envolvidas pode ter criado). Alternativamente, pode escolher obstruir o pedido não fazendo a chamada para invocar a entidade seguinte. No último caso, o filtro é responsável para o enchimento para fora a resposta. Examina encabeçamentos da resposta depois que invocou o filtro seguinte nos Throws da corrente uma exceção para indicar um erro em processar além ao doFilter, você deve executar o init e destruir métodos. O método do init está chamado pelo recipiente quando o filtro é instantiated. Se você desejar passar parâmetros da iniciação ao filtro você recupera-os do objeto de FilterConfig passado ao init.
|
Exemplo de usar filtros em Servlet
|
O seguinte exemplo chamado HitCounter especifica o número das batidas feitas em um Web site paricular
|
public final class HitCounterFilter implements Filter
{
private FilterConfig filterConfig = null;
public void init(FilterConfig filterConfig)
throws ServletException
{
this.filterConfig = filterConfig;
}
public void destroy()
{
this.filterConfig = null;
}
public void doFilter(ServletRequest request,
ServletResponse response, FilterChain chain)
throws IOException, ServletException
{
if (filterConfig == null)
return;
StringWriter sw = new StringWriter();
PrintWriter writer = new PrintWriter(sw);
Counter counter = (Counter)filterConfig.
getServletContext().
getAttribute("hitCounter");
writer.println();
writer.println("===============");
writer.println("The number of hits is: " +
counter.incCounter());
writer.println("===============");
// Log the resulting string
writer.flush();
filterConfig.getServletContext().
log(sw.getBuffer().toString());
...
chain.doFilter(request, wrapper);
...
}
}
|
|
|
|
Keywords:
filters in servlet,servlet web xml,servlet request getparameter,servlet source code,filters in java,servlet tutorial
|
|
HTML Quizes |
|
XML Quizes |
|
Browser Scripting Quizes |
|
Server Scripting Quizes |
|
.NET (dotnet) Quizes |
|
Multimedia Quizes |
|
Web Building Quizes |
|
Java Quizes |
|
Programming Langauges Quizes |
|
Soft Skills Quizes |
|
Database Quizes |
|
Operating System Quizes |
|
Software Testing Quizes |
|
SAP Module Quizes |
|
Networking Programming Quizes |
|
Microsoft Office Quizes |
|
Accounting Quizes |
|
|