Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Erro: java.lang.ClassCastException: no filtro

Quando eu ativo meu servidor após implementar o filtro como instruído nesta aula, a primeira página "gerenciador" abre normalmente na primeira vez, mas após isso todas as páginas que eu tento abrir acabam em erro. Olhando nos logs, eu achei o seguinte erro na inicialização do servidor:

"java.lang.ClassCastException: br.com.alura.gerenciador.web.FiltroDeAuditoria cannot be cast to javax.servlet.Filter"

Mas eu não entendo porque ocorre este erro já que eu fiz o override de todos os métodos pedidos. Acho que talvez, como houve mudanças a interface HTTP filtro desde que a aula foi feita, tenha algum detalhe que tenha que ser feito que ela não mencione. Neste caso, gostaria que alguém me esclarecesse este detalhe.

A seguir vou postar a minha classe filtro integralmente:

package br.com.alura.gerenciador.web;

import java.io.IOException;

import javax.servlet.annotation.WebFilter;

import com.sun.net.httpserver.Filter;
import com.sun.net.httpserver.HttpExchange;

@WebFilter(urlPatterns="/*")
public class FiltroDeAuditoria extends Filter {

    @Override
    public String description() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public void doFilter(HttpExchange exchange, Chain chain) throws IOException {
        HttpExchange ex = (HttpExchange) exchange;
        System.out.println("Usuario acessando a URI " + ex.getRequestURI());
        chain.doFilter(exchange);
    }

}
4 respostas
solução!

o doFilter recebe como argumento uma Servelet request, responde e FilterChain então no metodo vc faz request.getRequestURI() salvando em uma variavel. no final faz chain.doFilter(resquest, response). Assista o video novamente, em algum ponto vc se perdeu

A, perai, revendo descobri que estava usando um Filter diferente do usado no curso. Obrigado pela dica.

Conseguiu? caso sim, feche o tópico. Espero ter ajudado

Desculpe-me, mas como fecho o tópico? Não acho nenhuma opção deste tipo.