Pessoal, estou com problemas na chamada de um servlet através do sendRedirect.
Dentro de um servlet, estou redirecionando para um outro servlet. Há algum problema em utilizar o sendRedirect na chamada de um servlet?
A Aplicação não aceita nenhuma entrada via get, (no servlet) somente post. E após adicionar o sendRedirect, ele efetua a chamada do servlet pelo metodo get, sendo assim, ocorre um erro tratado pela aplicação.
Este problema passou a ocorrer após a alteração abaixo, por medidas de segurança:
Alterado de:
getServletConfig().getServletContext().getRequestDispatcher("/NomeServlet").forward(req, res);
Não entendi.
A sua aplicação só aceita chamadas via POST, porém o método sendRedirect realiza uma nova requisição GET.
Qual o problema que você está tendo exatamente?
Então isso não é um ‘problema’ com o sendRedirect, é a característica dele e do protocolo HTTP.
Ele fará uma nova requisição GET, você deverá recebê-la e tratá-la como GET.
Anteriormente funcionava porque o RequestDispatcher repassa a requisição de acordo com o request.
Se ele veio via GET, repassa como GET, se vier como POST repassa como POST.
No sendRedirect você devolve o response para o cliente, independente de como veio o request, e faz uma nova requisição GET para o servidor.
Se por alguma razão bizarra e desconhecida você não pode usar mais RequestDispatcher e nem capturar via doGet, então faz uma requisição POST dentro do servlet mesmo, via HttpClient.