Bom dia pessoal, estou fazendo os exercicios da apostila fj 21 e no 7.7 esta dando um problema q eu não consigo entender eu mando executar e da o seguinte erro:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs.
O codigo e exatamente o que esta na apostila.
<%@tagliburi="http://java.sun.com/jsp/jstl/core"prefix="c"%><html><body><!-- cria a lista --><jsp:useBeanid="dao"class="br.com.caelum.agenda.dao.ContatoDAO"/><table><!-- for --><c:forEachvar="contato"items="${dao.lista}"><tr><td>${contato.nome}</td><td>${contato.email}</td><td>${contato.endereco}</td><td>${contato.dataNascimento.time}</td></tr></c:forEach></table></body></html>
<%@tagliburi="http://java.sun.com/jsp/jstl/core"prefix="c"%><html><body><!-- cria a lista --><jsp:useBeanid="dao"class="dao.ContatoDAO"/><jsp:useBeanid="valida"class="valida.Valida"></jsp:useBean><table><!-- for --><c:forEachvar="contato"items="${dao.lista}"><tr><td>${contato.nome}</td><td><c:iftest="${not empty contato.email}"><ahref="mailto:${contato.email}">${contato.email}</a></c:if></td><td>${contato.endereco}</td><td>${contato.dataNascimentoString}</td></tr></c:forEach></table></body></html>
leandrognaf
errei a classe
ai vai a certa
packagedao;importjava.sql.Connection;importjava.sql.Date;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.util.ArrayList;importjava.util.Calendar;importjava.util.List;importmodelo.Contato;publicclassContatoDAO{privateConnectionconnection;publicContatoDAO(){this.connection=newFabricaConexao().getConnection();}publicvoidadiciona(Contatocontato){Stringsql="insert into contatos (nome,email,endereco, dataNascimento) values (?,?,?,?)";try{// prepared statement para inserçãoPreparedStatementstmt=connection.prepareStatement(sql);// seta os valoresstmt.setString(1,contato.getNome());stmt.setString(2,contato.getEmail());stmt.setString(3,contato.getEndereco());stmt.setDate(4,contato.getDataNascimento());// executastmt.execute();stmt.close();}catch(SQLExceptione){thrownewRuntimeException(e);}}publicList<Contato>getLista(){try{List<Contato>contatos=newArrayList<Contato>();PreparedStatementstmt=this.connection.prepareStatement("select * from contatos");ResultSetrs=stmt.executeQuery();while(rs.next()){Contatocontato=newContato();contato.setNome(rs.getString("nome"));contato.setEmail(rs.getString("email"));contato.setEndereco(rs.getString("endereco"));contato.setDataNascimento(rs.getDate("dataNascimento"));contatos.add(contato);}rs.close();stmt.close();returncontatos;}catch(SQLExceptione){thrownewRuntimeException(e);}}publicvoidaltera(Contatocontato){Stringsql="update contatos set nome=?, email=?, endereco=?, dataNascimento=? where id=?";try{PreparedStatementstmt=connection.prepareStatement(sql);stmt.setString(1,contato.getNome());stmt.setString(2,contato.getEmail());stmt.setString(3,contato.getEndereco());stmt.setDate(4,contato.getDataNascimento());stmt.setLong(5,contato.getId());stmt.execute();stmt.close();}catch(SQLExceptione){thrownewRuntimeException(e);}}publicvoidremove(Contatocontato){try{PreparedStatementstmt=connection.prepareStatement("delete from contatos where id=?");stmt.setLong(1,contato.getId());stmt.execute();stmt.close();}catch(SQLExceptione){thrownewRuntimeException(e);}}}
lazaropj
Então vc já arrumou ?
leandrognaf
O caminho da classe eu tinha colocado certo mas continou com o erro.
lazaropj
Já tentou debugar o metodo listar?
As vezes a lista está chegando vazia na sua VIEW
leandrognaf
Arrumou, so q eu n entendi pq dps q eu coloquei pra validar o e-mail começou a funcionar
lazaropj
Blza então…
Edita o titulo do post para [Resolvido] então