Erro na Criação do filtro para medir o tempo de execução de uma requisição

4 respostas
romenig

Olá estou acompanhando a apostila da caelum fj21 e em um exercício para criar um filtro para medir o tempo de execução de uma requisição. Me eocorre um erro, no seguinte código:

package filtro;

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;
import javax.servlet.http.HttpServletResponse;

public class FiltroTempoDeExecucao implements Filter {

	@Override
	public void destroy() {
		// TODO Auto-generated method stub

	}

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		
		long tempoInicial = System.currentTimeMillis();
		
		chain.doFilter(request, response);
		
		long tempoFinal = System.currentTimeMillis();
		
		String uri = ((HttpServletRequest)request).getRequestURI();
		System.out.println("Tempo da requisição de " + uri
				+ " demourou (ms): " + (tempoFinal - tempoInicial));

	}

	@Override
	public void init(FilterConfig arg0) throws ServletException {
		// TODO Auto-generated method stub

	}

}

o erro que me apresenta é:

Multiple markers at this line - Line breakpoint:FiltroTempoDeExecucao [line: 30] - doFilter(ServletRequest, ServletResponse, FilterChain) - HttpServletRequest cannot be resolved to a type - HttpServletRequest cannot be resolved to a type

para a seguinte linha do código:

String uri = ((HttpServletRequest)request).getRequestURI();

Alguém que me esclareça essa dúvida, ficarei muito grato, Obrigado!

4 Respostas

drsmachado

Onde está o import do httpservletrequest?

romenig

pode ver que na linha 09 está e os demais imports necessarios.

drsmachado

pode ver que na linha 09 está e os demais imports necessarios.

package filtro;  
  
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;  
import javax.servlet.http.HttpServletResponse;

Este seria o conteúdo da linha 9.
import javax.servlet.ServletRequest;
Porém, só vejo o import de javax.servlet.ServletRequest
E não de javax.servlet.HttpServletRequest

romenig

pode ver que na linha 09 está e os demais imports necessarios.

package filtro;  
  
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;  
import javax.servlet.http.HttpServletResponse;

Este seria o conteúdo da linha 9.
import javax.servlet.ServletRequest;
Porém, só vejo o import de javax.servlet.ServletRequest
E não de javax.servlet.HttpServletRequest

è verdade, falta de atenção, fui confiar no comando shift+ctrl+o para fazer tudo!
Agora me está funcionando, muito obrigado drsmachado.

Criado 28 de janeiro de 2013
Ultima resposta 28 de jan. de 2013
Respostas 4
Participantes 2