nao consegui entender pq da problema ao fazer f5 quando usamos encaminhamento (forward), alguem poderia me explicar como o sendRedirect corrige esse probleminha e pq o forward causa isso?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
nao consegui entender pq da problema ao fazer f5 quando usamos encaminhamento (forward), alguem poderia me explicar como o sendRedirect corrige esse probleminha e pq o forward causa isso?
Oii Jade, tudo bem com você?
Peço desculpas pela demora em obter um retorno.
A diferença de comportamento entre esses dois métodos ocorre porque o forward() mantém a requisição original, enquanto o sendRedirect() inicia uma nova requisição.
Quando usamos o forward() ele transfere a requisição e a resposta para a nova página, sem que o navegador do cliente saiba que uma página diferente está sendo exibida. A requisição original ainda está "ativa" no navegador do cliente, e se a página for atualizada, o navegador simplesmente reenvia a mesma requisição, incluindo os dados do formulário. Isso resulta no reenvio do formulário e pode causar problemas caso esteja realizando uma ação que não deve ser repetida, como inserir dados em um banco de dados.
Já o sendRedirect() envia uma resposta ao navegador com um código de redirecionamento e uma nova URL. O navegador, ao receber essa resposta, faz uma nova solicitação para a URL especificada, iniciando uma nova requisição. Portanto, quando atualizamos a página após um redirecionamento, o navegador solicita diretamente a nova página, sem reenviar o formulário.
Em resumo, o sendRedirect() resolve o problema de reenvio de formulário após a atualização da página, pois inicia uma nova requisição no navegador do cliente, enquanto o forward() mantém a mesma requisição original.
Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.
Em caso de dúvidas estou à disposição.
Abraços e bons estudos!