Pular para o conteúdo principal

Postagens

Mostrando postagens de abril, 2011

foward vs include - Uma questão que confunde no Java Web

As funcionalidades das ações forward e include são bem semelhantes e por isso as vezes confunde! Motivado por isso e pela recente necessidade de alguns alunos meus, resolvi postar aqui um breve artigo sobre as principais diferenças entre as duas ações. O "forward" serve para transferir o controle para outro componente web (servlet/JSP). Você deve lembrar como ele funciona: redireciona seus objetos request e reponse para o recurso que você aponta no getRequestDispatcher. //Redireciona para A.jsp RequestDispatcher dispatcher = request.getRequestDispatcher("A.jsp"); dispatcher.forward(request, response); Por isso ele só pode ser chamado uma vez pelo seu servlet, porque ele delega toda a responsabilidade da requisição para outro servlet ou JSP. Isto também significa que ele só pode ser redirecionado para um servlet/JSP por vez, nada mais! Se você tentar executar qualquer método após o forward, terá uma exceção! Já o "include&