Iniciante JSf...erro quando le metodo lista ?java.lang.NullPointerException - java.lang.NullPoin

2 respostas
P

Olá,

não entendi por que da erro de nullpointer qunado vai ler metodo list
no Dao while(rs.next()){

Não consehui ver o erro ainda…alguém poderia me ajudar…

abs

/index.jsp(29,4) '#{usuarioFormBean.usuarios}' Error reading 'usuarios' on type br.com.jm.springjsf.UsuarioFormBean

Caused by:
java.lang.NullPointerException - java.lang.NullPointerException
---
public class UsuarioFormBean {

	private Usuario usuario = new Usuario();

	private UsuarioFacade facade = new UsuarioFacadeImpl();
	
	public String inserir(){
		facade.inserir(usuario);
		return "sucesso";
	}
	
	public List<Usuario> getUsuarios() throws SQLException{
		return facade.listar();
	}
	
	public UsuarioFacade getFacade() {
		return facade;
	}

	public void setFacade(UsuarioFacade facade) {
		this.facade = facade;
	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
	
	---

public class UsuarioFacadeImpl implements UsuarioFacade {

	private UsuarioDao usuarioDao = new UsuarioDaoImpl();
	
	public void inserir(Usuario usuario) {
		usuarioDao.inserir(usuario);

	}

	public List<Usuario> listar() throws SQLException {
		// TODO Auto-generated method stub
		return usuarioDao.listar();
	}
---


public class UsuarioDaoImpl implements UsuarioDao {

	
	public static Connection getConnection() throws Exception{
		
		Class.forName("com.mysql.jdbc.Driver");
		
		return DriverManager.getConnection("jdbc:mysql://localhost/usu", "root", "paribe");
		
	}
	

	public List<Usuario> listar() throws SQLException {
		Connection con =null;
		PreparedStatement pstmt=null;
		ResultSet rs =null;
		String sql = "select email,nome,telefone from Usuario";
		
		ArrayList<Usuario> uos = new ArrayList<Usuario>();

		try{
			
			con= getConnection();
			pstmt=con.prepareStatement(sql);

			pstmt.executeQuery();
		
			while(rs.next()){
				Usuario us = new Usuario();
				us.setEmail(rs.getString("email"));
				us.setNome(rs.getString("nome"));
				us.setTelefone(rs.getString("telefone"));
				
				uos.add(us);
			}
			
		}catch (Exception e){
			e.printStackTrace();
			throw new DAOException(e);
		}finally{
			
			try{
				if (rs!=null)
					rs.close();
			}catch (Exception e){}
			try{
				if (pstmt!=null)
				pstmt.close();
			}catch (Exception e){}
			
			try{
				if(con!=null)
				con.close();
			}catch (Exception e){}
		}
		return uos;
		
	}

2 Respostas

alias

Ué...voce nao tá setando o seu ResultSet, meu velho.

Iguale a sua variavel rs com o retorno do metodo executeQuery() do Statement. :wink:

con= getConnection();   
pstmt=con.prepareStatement(sql);   
  
rs = pstmt.executeQuery();   
           
while(rs.next()){
Marco_A_Caetano

hehe…
seu rs é sempre null, de acordo com o que vc setou la em cima

Criado 6 de setembro de 2009
Ultima resposta 8 de set. de 2009
Respostas 2
Participantes 3