Javafree
 Forum   Topics   Author   Post 
Banco de Dados - JDBC / SQL Erro java.lang.NullPointerException em Conexão JDBC com WS + Postgres leoFelipe Bom dia pessoal, sou novo em java e estou num projeto pra facul. Minha parte ficou sendo criar um WS que conecta a um DB PostgreSQL e realiza uma consulta numa única tabela. O problema é quando executo a aplicação dá o seguinte erro: ================================================================================================== Status do HTTP 500 - Internal Server Error type Relatório de exceção mensagemInternal Server Error descriçãoO servidor encontrou um erro interno ({0}) que o impediu de atender esta solicitação. exception javax.servlet.ServletException: java.lang.NullPointerException causa-raiz java.lang.NullPointerException observação Os rastreamentos de pilha completa da exceção e suas causas-raiz estão disponíveis nos logs de GlassFish Server Open Source Edition 4.0 . ================================================================================================== Eu creio que não seja tão complexo, mas como não tenho experiência com a linguagem, estou tendo dificuldades. Meus códigos são: [code] //DBConnection.java public class DBConnection { private String databaseURL = "jdbc:postgresql://localhost:8080/wsfindfriends"; private String usuario = "postgres"; private String senha = "senhaPostgres"; private String driverName = "org.postgresql.Driver"; private PreparedStatement stmt = null; private ResultSet rs = null; public Connection conn = null; public void DBConnection() { try { Class.forName(driverName).newInstance(); this.conn = DriverManager.getConnection(databaseURL, usuario, senha); System.out.println("Conexão obtida com sucesso."); } catch (SQLException ex) { System.out.println("SQLException: " + ex.getMessage()); System.out.println("SQLState: " + ex.getSQLState()); System.out.println("VendorError: " + ex.getErrorCode()); } catch (Exception e) { System.out.println("Problemas ao tentar conectar com o banco de dados: " + e); } } public List<Friend> executeQuery(String query) { try { List<Friend> list = new ArrayList<Friend>(); this.stmt = this.conn.prepareStatement(query); this.rs = this.stmt.executeQuery(); while (rs.next()) { // criando o objeto Friend Friend friend = new Friend(); friend.setId(rs.getInt("id")); friend.setNome(rs.getString("nome")); friend.setNome(rs.getString("fone")); // adicionando o objeto à lista list.add(friend); } this.close(); return list; } catch (SQLException e) { throw new RuntimeException(e); } } public void close(){ try { this.stmt.close(); this.rs.close(); this.conn.close(); } catch (SQLException e) { throw new RuntimeException(e); } } } [/code] [code] //FindFriendsService.java @Path("findfriends") public class FindFriendsService { @Context private UriInfo context; /** * Creates a new instance of FindFriendsService */ public FindFriendsService() { } /** * Retrieves representation of an instance of br.com.findfriends.FindFriendsService * @return an instance of java.lang.String */ @GET @Produces(MediaType.APPLICATION_JSON) public String getJson() { //TODO return proper representation object DBConnection dbc = new DBConnection(); List<Friend> list = new ArrayList<Friend>(); list = dbc.executeQuery("SELECT * FROM locationfriends"); Gson gson = new Gson(); return gson.toJson(list); } /** * PUT method for updating or creating an instance of FindFriendsService * @param content representation for the resource * @return an HTTP response with content of the updated or created resource. */ @PUT @Consumes(MediaType.APPLICATION_JSON) public void putJson(String content) { } } [/code] [code] //Friend.java public class Friend { private int id; private String nome, fone; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getFone() { return fone; } public void setFone(String fone) { this.fone = fone; } } [/code]
Goto page 1