Como redirecionar para uma pagina dentro de um filtro, e mapeamento xml, ex ap fj21

1 resposta
ribclauport

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:

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 {
		
	

	}

}

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.

1 Resposta

M
RequestDispatcher dispatcher = request.getRequestDispatcher("/index.html");
dispatcher.forward(request, response);
Criado 1 de dezembro de 2009
Ultima resposta 1 de dez. de 2009
Respostas 1
Participantes 2