Boa Tarde a todos, estou fazendo o exercício da fj21 sobre filtros lá pede-se para criar um filtro
que veja se o funcionario esta logado e se estiver deixa ele acessar todas urls(adicionar o filtro a todas urls menos a login.jsp)
comecei a fazer… porém nao sei como redirecionar para uma página dentro do filtro… no struts e so fazer [color=red]return mapping.findForward(“ok”);[/color] e no filtro…
segue a primeira duvida com seu respectivo codigo:
[code]package br.com.caelum.Servlet.filtro;
import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForward;
import br.com.caelum.modelo.Funcionario;
public class FiltroGlobal extends Action implements javax.servlet.Filter{
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest)request;
HttpSession sessao = req.getSession(true);
Funcionario f = (Funcionario) sessao.getAttribute("fun_sessao");
if(f==null){
[color=red] //e aqui como eu redirecionano para uma pagina?[/color] [quote]quero mandar para login.jsp[/quote]
}
chain.doFilter(request, response);
System.out.println("Requisicao terminada");
}
@Override
public void init(FilterConfig arg0) throws ServletException {
}
}
[/code]
Alem disso como mapeio para todas as urls menos para login.jsp o filtro…
terei que mapear individualmente as urls do sistema para filtro menos a login.jsp?
Agradeço muito se alguém puder me ajudar.