Olá, postei o meu problema no fórum de Java Básico, mas não tive resposta... então eu acho que cabe melhor aqui...
Segue o erro:
07/03/26 10:32:10 java.lang.IllegalStateException: Response has already been committedO meu código:
07/03/26 10:32:10 at com.evermind.server.http.EvermindHttpServletResponse.resetBuffer (EvermindHttpServletResponse.java:1901)
07/03/26 10:32:10 at com.evermind.server.http.ServletRequestDispatcher.forward (ServletRequestDispatcher.java:211)
07/03/26 10:32:10 at com.evermind.server.http.GetParametersRequestDispatcher.forward (GetParametersRequestDispatcher.java:257)
07/03/26 10:32:10 at br.sp.sso.control.AlunoEgressos.doGet(AlunoEgressos.java:941)
07/03/26 10:32:10 at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
07/03/26 10:32:10 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
07/03/26 10:32:10 at com.evermind.server.http.ServletRequestDispatcher.invoke (ServletRequestDispatcher.java:765)
07/03/26 10:32:10 at com.evermind.server.http.ServletRequestDispatcher.forwardInternal (ServletRequestDispatcher.java:317)
07/03/26 10:32:10 at com.evermind.server.http.HttpRequestHandler.processRequest (HttpRequestHandler.java:793)
07/03/26 10:32:10 at com.evermind.server.http.AJPRequestHandler.run (AJPRequestHandler.java:208 )
07/03/26 10:32:10 at com.evermind.server.http.AJPRequestHandler.run (AJPRequestHandler.java:125)
07/03/26 10:32:10 at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run (ReleasableResourcePooledExecutor.java:192)
07/03/26 10:32:10 at java.lang.Thread.run(Thread.java:534)
package br.sp.sso.control;
import java.io.IOException;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.SQLException;
import oracle.br.util.ConnectionPool;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import oracle.br.util.RCDMessageHandler;
public class AlunoEgressos extends HttpServlet{
private Connection conn = null;
private Statement stmt = null;
private static final String SID = "rcd01_site";
public void init(ServletConfig config) throws ServletException{
super.init(config);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
String nmCompleto = request.getParameter("nm_completo");
String autorizacaoDados = request.getParameter("autorizacao_dados");
try{
RCDMessageHandler msg = RCDMessageHandler.getInstance();
StringBuffer message = new StringBuffer();
message.append( "\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">" );
message.append( "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n" );
message.append( "<head>\n" );
message.append( "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />\n" );
message.append( "<title></title>\n" );
message.append( "</head>\n" );
message.append( "<body>\n" );
message.append( "<table width=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"1\">\n" );
message.append( "<tr>\n" );
message.append( "<td align=\"center\">\n" );
message.append( "</td>\n" );
message.append( "</tr>\n" );
message.append( "<tr>\n" );
message.append( "<td align=\"left\"> </td>\n" );
message.append( "</tr>\n" );
if( nmCompleto != "" && nmCompleto != null ){
message.append( "<tr>\n" );
message.append( "<td align=\"left\">\n" );
message.append( "<font color=\"#666666\" size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">\n" );
message.append( "<b>Nome Completo:</b> " + nmCompleto + "<br>\n" );
message.append( "</font>\n" );
message.append( "</td>\n" );
message.append( "</tr>\n" );
}
if( autorizacaoDados != "" && autorizacaoDados != null ){
message.append( "<tr>\n" );
message.append( "<td align=\"left\">\n" );
message.append( "<font color=\"#666666\" size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">\n" );
message.append( "<b>Autorizo o envio dos dados cadastrais para a Associação de Ex-alunos:</b> ");
if( autorizacaoDados.equals("S") ) message.append( "Sim" );
else message.append( "Não" );
message.append( "<br>\n" );
message.append( "</font>\n" );
message.append( "</td>\n" );
message.append( "</tr>\n" );
}
message.append( "<tr>\n" );
message.append( "<td align=\"center\"> </td>\n" );
message.append( "</tr>\n" );
message.append( "<tr>\n" );
message.append( "<td align=\"center\">\n" );
message.append( "</td>\n" );
message.append( "</tr>\n" );
message.append( "</table>\n" );
StringBuffer sql = new StringBuffer();
sql.append("INSERT INTO EGRESSOS\n");
sql.append("( id_egresso, nm_completo, sexo, cpf, rg, rg_emissor,");
sql.append(" rg_uf_emissor, dia_nasc, mes_nasc, ano_nasc, end_res, num_res,");
sql.append(" comp_res, bairro_res, cep_res, cidade_res, uf_res, email_contato,");
sql.append(" ddd_tel_res, tel_res, ddd_celular, celular, escolaridade, curso_graduacao,");
sql.append(" instituicao_graduacao, situacao_graduacao, conclusao_graduacao, curso_posgraduacao,");
sql.append(" instituicao_posgraduacao, conclusao_posgraduacao, situacao_trabalho, cargo, nm_empresa,");
sql.append(" end_com, num_com, comp_com, bairro_com, cep_com, cidade_com,");
sql.append(" uf_com, ddd_tel_com, tel_com, email, autorizacao_dados )\n");
sql.append(" VALUES \n");
sql.append(" ( EGRESSOS_SQ.NEXTVAL, '" + nmCompleto + "', '" + sexo + "', '" + cpf + "', '" + rg + "', '" + rgEmissor + "',");
sql.append(" '" + rgUfEmissor + "', '" + diaNasc + "', '" + mesNasc + "', '" + anoNasc + "', '" + endRes + "', '" + numRes + "',");
sql.append(" '" + compRes + "', '" + bairroRes + "', '" + cepRes + "', '" + cidadeRes + "', '" + ufRes + "', '" + emailContato + "',");
sql.append(" '" + dddTelRes + "', '" + telRes + "', '" + dddCelular + "', '" + celular + "', '" + escolaridade + "', '" + cursoGraduacao + "',");
sql.append(" '" + instituicaoGraduacao + "', '" + situacaoGraduacao + "', '" + conclusaoGraduacao + "', '" + cursoPosgraduacao + "',");
sql.append(" '" + instituicaoPosgraduacao + "', '" + conclusaoPosgraduacao + "', '" + situacaoTrabalho + "', '" + cargo + "', '" + nmEmpresa + "',");
sql.append(" '" + endCom + "', '" + numCom + "', '" + compCom + "', '" + bairroCom + "', '" + cepCom + "', '" + cidadeCom + "',");
sql.append(" '" + ufCom + "', '" + dddTelCom + "', '" + telCom + "', '" + email + "', '" + autorizacaoDados + "' ) ");
boolean result;
result = this.insert(sql.toString());
if(result == false){
request.getRequestDispatcher("/jsp/default.jsp?newsID=923.dwt&testeira=722&result=Os dados não foram atualizados!").forward(request, response);
}
msg.send("[email removido]", "[email removido]", "Atualização dos Dados Cadastrais de Egressos", "result=" + result + ".fim<br>" + message.toString() + sql.toString(), "HTML");
request.getRequestDispatcher("/jsp/default.jsp?newsID=923.dwt&testeira=722&result=Dados atualizados com sucesso!").forward(request, response);
}catch( SQLException es ){
es.printStackTrace();
request.getRequestDispatcher("/jsp/default.jsp?newsID=923.dwt&testeira=722&result=Os dados não foram atualizados!").forward(request, response);
}catch( Exception ex ){
ex.printStackTrace();
request.getRequestDispatcher("/jsp/default.jsp?newsID=923.dwt&testeira=722&result=Os dados não foram atualizados!").forward(request, response);
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
}
public boolean insert(String sql) throws SQLException, Exception{
boolean sucesso = false;
conn = ConnectionPool.getConnectionDS( SID );
if( conn!=null ){
stmt = conn.createStatement();
stmt.executeUpdate(sql);
sucesso = true;
close();
}
return sucesso;
}
private void close(){
try{
if( stmt != null ) stmt.close();
if( conn != null ) conn.close();
}catch( SQLException ex ){
ex.printStackTrace();
}
}
}
Desde já, obrigado!!!
