Fórum SERVLET - ArrayList só retorna null #134986
15/04/2010
Estou tentando listar com Java diretamente num Servlet sem utilização de setatribute. Aparentemente meu código parece estar certo, mas o Servlet só retorna o valor NULL. Estou conseguindo sem problemas inserir, alterar e excluir, mas na listagem estou tendo problemas. O BD utilizado é o Postgre. Segue o código abaixo:
Cadempr.java
************************************************************************************
public class Cadempr {
private int id;
private String nomefantasia;
private String razaosocial;
private String cnpj;
private String inscrestadual;
private String endereco;
private String bairro;
private String uf;
private int cidade;
private String cep;
private String tel1;
private String tel2;
private String fax;
private String email;
private String site;
private int user;
private String ip;
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public int getCidade() {
return cidade;
}
public void setCidade(int cidade) {
this.cidade = cidade;
}
public String getCnpj() {
return cnpj;
}
public void setCnpj(String cnpj) {
this.cnpj = cnpj;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getFax() {
return fax;
}
public void setFax(String fax) {
this.fax = fax;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getInscrestadual() {
return inscrestadual;
}
public void setInscrestadual(String inscrestadual) {
this.inscrestadual = inscrestadual;
}
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public String getNomefantasia() {
return nomefantasia;
}
public void setNomefantasia(String nomefantasia) {
this.nomefantasia = nomefantasia;
}
public String getRazaosocial() {
return razaosocial;
}
public void setRazaosocial(String razaosocial) {
this.razaosocial = razaosocial;
}
public String getSite() {
return site;
}
public void setSite(String site) {
this.site = site;
}
public String getTel1() {
return tel1;
}
public void setTel1(String tel1) {
this.tel1 = tel1;
}
public String getTel2() {
return tel2;
}
public void setTel2(String tel2) {
this.tel2 = tel2;
}
public String getUf() {
return uf;
}
public void setUf(String uf) {
this.uf = uf;
}
public int getUser() {
return user;
}
public void setUser(int user) {
this.user = user;
}
}
************************************************************************************
CademprDAO.java
************************************************************************************
public class CademprDAO {
private Connection conn;
public CademprDAO() throws Exception, ClassNotFoundException {
try {
this.conn = ConnectionFactory.getConnection();
} catch (Exception e) {
throw new Exception("Erro: " + e.getMessage());
}
}
public CademprDAO(Connection conn) {
this.conn = conn;
}
public List<Cadempr> jSon(String sql) throws SQLException, Exception {
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
try {
List<Cadempr> lists = new ArrayList<Cadempr>();
while (rs.next()) {
Cadempr cadempr = new Cadempr();
cadempr.setId(rs.getInt("def_id"));
cadempr.setNomefantasia(rs.getString("def_nomefantasia"));
lists.add(cadempr);
}
return lists;
} catch (Exception sqle) {
throw new Exception("Erro ao atualizar dados:" + sqle);
} finally {
rs.close();
ps.close();
conn.close();
}
}
}
************************************************************************************
CademprServlet.java
************************************************************************************
try {
String sql = "SELECT def_id,def_nomefantasia FROM public.def_empresas";
List<Cadempr> lists = new ArrayList<Cadempr>();
lists = dao.jSon(sql);
String json = "";
json += "{";
json += "[";
for (Cadempr a : lists) {
json += "{";
json += "'" + a.getId() + "',";
json += "'" + a.getNomefantasia() + "'";
json += "]";
json += "}";
}
json += "]";
json += "}";
out.write(json);
out.flush();
} catch (Exception ex) {
out.println("ERRO AO LISTAR: " + ex.getMessage());
}
************************************************************************************
Agradeço a ajuda!
Posts
tentou rodar esse SQL no console e veio algo ?
Por favor, post aqui, o retorno do seu console , para verificarmos as mensagens.
Abraços.
Agradeço a ajuda de vcs, mas o erro já foi identificado. Esqueci de colocar no início do Servlet o seguinte:
dao = new CademprDAO();
Um erro primário de quem ainda está aprendendo.
Poderia fechar o chamado ?