Serio, isso que você falou para mim saiu até na Java Magazine desse mês.
Desculpa por não ter postado mais cedo.
Fiquei analisando minha classe aqui e pelo que estou observando ela não tem nenhuma impressão para o cliente antes do forward.
O que ela faz antes do forward é:
req.removeAttribute( "retPage" ); // para nao recarregar este evento novamente
//dispacha a requisicao para a pagina de retorno especificada.
//possivelmente uma view page (JSP)
req.getRequestDispatcher( retPage ).forward( req, res );
//res.sendRedirect(retPage);
return;
}
O erro que o TomCat acusa é exatamente na linha 270 dessa classe que é a linha do forward.
Como você me disse e vi na revista, o IllegalStateException é gerado na tentativa de uma chamada out.print() out.println() antes do método forward. O que não acontece…
Mais acima no meu código, o que acontece é…
int evt = //recebendo o evento a ser chamado
//captura o rotulo associado ao evento
String labelEvent = CEvent.getEventLabel( evt );
String nameController = this.discoverGAGControllerByEventLabel( labelEvent ); // te garanto que essa função não faz nenhum out.print, ela só retorna o nome do Controller a ser chamado
String retPage = req.getParameter( "retPage" );
Depois disso ela executa aqueles primeiros codigos que coloquei no incio do meu post, onde tem o forward.
Como você pode ver, não tem nenhum metodo de escrita.
Sabe me dizer o que poderia estar gerando isso?
Creio que seja algo que esta fazendo o buffer estourar e não conseguir dar o forward.
Na Java Megazine inclusive ele mostra a possibilidade de usar o:
response.sendRedirect(retPage);
Mas testei e deu um outro erro. Que suspeito acontecer por que o fluxo de dados volta para o cliente, o contrário do .forward() que o fluxo de execução permanece no servidor.
Estão bem vindas todas as ajudas.
As mais bobas eu aceito.
Antecipadamente, Obrigado pessoal!