Boa noite gostaria de ajuda para mapear o WebFilter por meio da (barra) "/".
Meu filtro está da seguinte forma:
@WebFilter("/")
public class AutorizacaoFilter implements Filter {
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
String url = request.getRequestURI();
System.out.println("url: " + url);
//redirecionando para o Index
if (url.equals("/gerenciador/")) {
response.sendRedirect("Index");
return;
}
HttpSession sessao = request.getSession();
boolean usuarioNaoLogado = (sessao.getAttribute("usuarioLogado") == null);
boolean acaoProtegida = !(url.equals("/gerenciador/Login") || url.equals("/gerenciador/LoginForm") || url.equals("/gerenciador/Index"));
System.out.println(usuarioNaoLogado + " - " + acaoProtegida);
if (usuarioNaoLogado && acaoProtegida) {
response.sendRedirect("LoginForm");
return;
}
chain.doFilter(request, response);
}
}
Porém aparentemente ao mapear o Filtro com a barra, a execução do mesmo apenas acontece quando chamo a página índice que está na própria raiz, ou seja, em: http://localhost:8080/gerenciador/, todas as demais páginas como: http://localhost:8080/gerenciador/ListaEmpresas, http://localhost:8080/gerenciador/NovaEmpresaForm... Não passam pelo filtro ao serem executadas.