Bom dia pessoal,
Estou precisando enviar mensagens de erros (e.getMessage) geradas na classe DAO para a página JSP que chamou esse metodo do DAO. Vi que poderia fazer isso setando uma session e passar a string do erro ou posso fazer de outra forma criando uma classe "minhasException" tratar e enviar o erro de SQL para a página JSP, para que seja exibido no browser. Qual seria a melhor maneira e como implementaria esse esquema?
CLASSE DAO
public boolean criarConta(ContaCorrente conta) throws SQLException {
boolean resultCriarConta = false;
String sqlCriarConta = "INSERT INTO contacorrente(CodContaCorrente, CodBanco, CodUsuario," +
"NumConta, DataAbertura, SaldoConta) VALUES (?,?,?,?,?,?)";
Connection conn = DriverManager.getConnection(urlBD,userBD, senhaBD);
PreparedStatement stmt = conn.prepareStatement(sqlCriarConta);
conn.setAutoCommit(false);
try{
stmt.setString(1, conta.getNumConta());
stmt.setString(2, conta.getBanco().getCodigoBanco());
stmt.setString(3, conta.getDonoDaConta().getIdDoUsuario());
stmt.setString(4, conta.getNumConta());
stmt.setDate(5, conta.getDataAbertura());
stmt.setFloat(6, conta.getSaldo());
stmt.execute();
conn.commit();
resultCriarConta = true;
}
catch(SQLException e){
conn.rollback();
e.printStackTrace();
e.getMessage();
}
finally{
stmt.close();
conn.close();
}
return resultCriarConta;
}
PARTE DA PAGINA.JSP
<%
boolean r = JdbcContaCorrenteDAO.getInstanceContaCorrenteDAO().criarConta(objContaC_Cadastro);
%>
<c:set var="result" value="<%=r%>"/>
<c:if test="${result == false}">
<c:set var="aviso" value="*Não foi possivel criar a conta corrente"></c:set> //PRECISO COLOCAR NESSA LINHA O E.getMessage();
<c:redirect url="cadastraContaC.jsp?aviso=${aviso}"/>
</c:if>
Desde já agradeço a ajuda,
, mas tem uma solução que achei interessante que foi a do criar uma classe minha de Exception ou colocar a mensagem de erro na session. Vc saberia como eu poderia fazer em alguma dessas duas formas?