Duvida sobre filter para acessar paginas com usuario logado

estou com muita duvida, de como usar um filter para poder acessar pagina com usuario logado.

Ao tentar entrar, ele não loga!
OBS: meu codigo estáva funcionando normalmente, como estou usando o FIlter, ele não passa da tela de login…

Segue meu codigo.

meu Filter
package br.com.triadworks.todoList.filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import br.com.triadworks.todoList.model.Usuario;

@WebFilter(urlPatterns = { "/mvc" })
public class FilterAutenticacao implements Filter {

	@Override
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
			throws IOException, ServletException {

		HttpServletRequest req = (HttpServletRequest) request;
		HttpSession session = req.getSession();

		Usuario usuarioLogado = (Usuario) session.getAttribute("usuarioAutenticado");

		if (usuarioLogado == null) {
			encaminhaPagina(request, response);
			return;
		}
		chain.doFilter(request, response);
		System.out.println("Interceptando...");
	}

	private void encaminhaPagina(ServletRequest request, ServletResponse response)	throws ServletException, IOException {
		request.getRequestDispatcher("WEB-INF/jsp/view/login.jsp").forward(request, response);
	}
}

Tela de Login

package br.com.triadworks.todoList.logica;

import java.sql.Connection;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import br.com.triadworks.todoList.dao.UsuarioDAO;
import br.com.triadworks.todoList.infra.ConnectionFactory;
import br.com.triadworks.todoList.model.Usuario;

public class LoginTarefaLogic implements Logica {

@Override
public String executa(HttpServletRequest request, HttpServletResponse response) throws Exception {
	Connection connection = ConnectionFactory.getConnection();

	String login = request.getParameter("usuario");
	String senha = request.getParameter("senha");

	Usuario usuario = new Usuario(login, senha);
	Usuario usuarioAutenticado = new UsuarioDAO(connection).autenticar(usuario);

	if (usuarioAutenticado != null) {
		pegaSessao(request,usuarioAutenticado);
		return "mvc?logica=ListarTarefaLogic";
	} else {
		return "erroLogin.jsp";
	}
}

private void pegaSessao(HttpServletRequest request, Usuario usuarioAutenticado) {
	
	HttpSession session = request.getSession();
	session.setAttribute("usuarioAutenticado", usuarioAutenticado);
	session.setMaxInactiveInterval(3000);
}

}

Opa,

Quando você debuga, nesta linha o usuário não está nulo, certo?

Usuario usuarioLogado = (Usuario) session.getAttribute("usuarioAutenticado");

Os filtros estão declarados no web.xml?

Partindo desse princípio, tente alterar este método:

encaminhaPagina(request, response);

para

encaminhaPagina(request, response, chain);

E este

private void encaminhaPagina(ServletRequest request, ServletResponse response)	throws ServletException, IOException {
	request.getRequestDispatcher("WEB-INF/jsp/view/login.jsp").forward(request, response);
}

Para

private void encaminhaPagina(ServletRequest request, ServletResponse response, FilterChain chain)	throws ServletException, IOException {
	  chain.doFilter(request, response);
}

ok! vou ver aqui, usei @WebFilter para não configurar no web.xml