Agora estou começando a mexe em programação para web e estou lendo a apostila do caelum, porem no primeiro exemplo jstl ele esta dando um erro NullPointException, ou seja está fazendo uma refenrecia a um valor nulo, como ainda não conhece esta linguagem não sei onde esta o erro. Aqui vai parte do código espero que possam me ajudar.
e a classe ContatoDAO utiliza este metodo getista().
<blockquote> public List getLista(){
try{
List contatos = new ArrayList();
PreparedStatement stmt = this.connection.prepareStatement(“SELECT * FROM contatos”);
ResultSet rs = stmt.executeQuery();
while(rs.next()){Contatocontato=newContato();contato.setId(rs.getLong("id"));contato.setNome(rs.getString("nome"));contato.setEmail(rs.getString("email"));contato.setEndereco(rs.getString("endereco"));//monta a data através do CalendarCalendardata=Calendar.getInstance();data.setTime(rs.getDate("datanascimento"));contato.setDataNascimento(data);//adiciona o objeto a listacontatos.add(contato);}rs.close();stmt.close();returncontatos;}catch(SQLExceptione){thrownewRuntimeException(e);}}</blockquote>
Se alguem poder me dizer onde está o erro eu agradeço!!
O stack trace mostra o local onde ocorre o erro, você poderia postar o stack ??
facilitaria …
[]'s
drsmachado
Tem certeza que postou a classe correta?
Primeiro, não há como saber se existe um objeto com nome dao em algum escopo.
Segundo, não tem como saber se existe uma variável com nome lista como atributo de dao.
Terceiro, usar a tag [code] que é bom, nada?
Enadrov
Aqui está a classe completa. E referente a
euacabeimarcandoquoteevemdecode![code]publicclassContatoDAO{privateConnectionconnection;publicContatoDAO(){this.connection=newConnectionFactory().getConnection();}publicvoidadiciona(Contatocontato){Stringsql="INSERT INTO contatos(nome, email, endereco, dataNascimento) VALUES (?,?,?,?)";try{PreparedStatementstmt=this.connection.prepareStatement(sql);stmt.setString(1,contato.getNome());stmt.setString(2,contato.getEmail());stmt.setString(3,contato.getEndereco());stmt.setDate(4,newDate(contato.getDataNascimento().getTimeInMillis()));stmt.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.setId(rs.getLong("id"));contato.setNome(rs.getString("nome"));contato.setEmail(rs.getString("email"));contato.setEndereco(rs.getString("endereco"));//monta a data através do CalendarCalendardata=Calendar.getInstance();data.setTime(rs.getDate("datanascimento"));contato.setDataNascimento(data);//adiciona o objeto a listacontatos.add(contato);}rs.close();stmt.close();returncontatos;}catch(SQLExceptione){thrownewRuntimeException(e);}}publicList<Contato>getLista(intid){try{List<Contato>contatos=newArrayList<Contato>();PreparedStatementstmt=this.connection.prepareStatement("SELECT * FROM contatos WHERE id = ?");stmt.setInt(1,id);ResultSetrs=stmt.executeQuery();while(rs.next()){Contatocontato=newContato();contato.setId(rs.getLong("id"));contato.setNome(rs.getString("nome"));contato.setEmail(rs.getString("email"));contato.setEndereco(rs.getString("endereco"));//monta a data através do CalendarCalendardata=Calendar.getInstance();data.setTime(rs.getDate("datanascimento"));contato.setDataNascimento(data);//adiciona o objeto a listacontatos.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());contato.getDataNascimento();stmt.setDate(4,newDate(Calendar.getInstance().getTimeInMillis()));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);}}}