estou tentando aplicar um Filter usando JSP e estou sentindo muita dificuldade, estava fazendo dessa forma só que não uma boa prática Segue meu codigo.
Minha Servlet Controladora
@WebServlet("/mvc")
public class ServletController extends HttpServlet{
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String parametro = request.getParameter("logica");
String nomeDaClasse = "br.com.triadworks.todoList.logica." + parametro;
try {
Class classe = Class.forName(nomeDaClasse);
Logica logica = (Logica) classe.newInstance();
String pagina = logica.executa(request, response);
request.getRequestDispatcher(pagina).forward(request, response);
} catch (Exception e) {
throw new ServletException("A lógica causou uma exceção!", e);
}
}
}
Minha Logica
public class AdicionaTarefa implements Logica {
@Override
public String executa(HttpServletRequest request, HttpServletResponse response) throws Exception {
if (request.getSession().getAttribute("usuarioLogado") != null) {
request.setAttribute("situacoes", Arrays.asList(Situacao.values()));
return "WEB-INF/jsp/view/adiciona.jsp";
}
return "mvc?logica=TelaLogin";
}
}
OBS: Caso eu tenho várias logicas estou fazendo uma verificação, como quero aplicar o filter, como eu faço, eu fiz até aqui.
@WebFilter("/*")
public class AutenticacaoFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
System.out.println("antes...");
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
HttpServletResponse servletResponse = (HttpServletResponse) response;
HttpSession session = httpServletRequest.getSession();
if(session.getAttribute("usuarioLogado") != null){
}
servletResponse.sendRedirect("login.jsp");
}
}
