Caros amigos, tenho um problema aqui e gostaria que vcs me ajudassem.Estou fazendo um programa simples de cadastro de imóveis(coisa de facu) cujo código é bem parecido com outro que deu certo(na verdade mudei poucas coisas).No entanto o programa insiste em acusar uma NullPointerException que NÃO CONSIGO DESCOBRIR ONDE ESTÁ.Vou mandar o código do programa e o do BD(POSTGRES)
Agradeceria se alguem me ajudasse!!!
import java.sql.*;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class questao2bd
*/
public class CadastroImovel extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
private int codigo=0;
private double valor=0.00;
private String descricao="";
private String nome="";
private String tipo="";
public CadastroImovel() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");//configuração da linguagem: HTML
PrintWriter out = response.getWriter();
out.println("<HTML><BODY><h2>");
out.println("Cadastro de Imóveis");
out.println("</span></h2><BODY><HTML>");
String url = "jdbc:postgresql://localhost:5432/imoveis";
String driver = "org.postgresql.Driver"; //variáveis usadas na conexao com postgres!
Connection con=null; //objeto da clasee Connection usado na conexao!
try {
//para conexao com BD deve-se sempre usar um try.
Class.forName(driver);//método Class.forname(driver a ser utilizado: MySql ou Postgres)
con = DriverManager.getConnection(url,"postgres","postgres");//parâmetros do metodo getConnection(url,user,password)
}catch(SQLException ex){
//excessões da clasee java.sql.*;
}
catch(java.lang.Exception ex){
//excessões da classe java.lang.*;
}
try{//inserindo dados no Banco de Dados
codigo= Integer.parseInt(request.getParameter("codigo"));
nome= request.getParameter("nome");
valor=Double.parseDouble(request.getParameter("valor"));
descricao= request.getParameter("descricao");
tipo= request.getParameter("tipo");
out.println("<h1>DADOS DO IMÓVEL</h1><br>");
out.println("<table border='1' cellpadding='1' cellspacing='1' bgcolor='#808080' width='800'>");
out.println("<tr>");
out.println("<td><font color='#FFFFFF' face='Verdana'><strong>CÓDIGO</strong></font></td>");
out.println("<td><font color='#FFFFFF' face='Verdana'><strong>NOME</strong></font></td>");
out.println("<td><font color='#FFFFFF' face='Verdana'><strong>VALOR</strong></font></td>");
out.println("<td><font color='#FFFFFF' face='Verdana'><strong>DESCRIÇÃO</strong></font></td>");
out.println("<td><font color='#FFFFFF' face='Verdana'><strong>TIPO</strong></font></td>");
out.println("</tr>");
//parte dinâmica do html
out.println("<tr>");
out.println("<td><font face='Verdana'>"+codigo+"</td>");
out.println("<td><font face='Verdana'>"+nome+"</td>");
out.println("<td><font face='Verdana'>R$"+valor+"</td>");
out.println("<td><font face='Verdana'>"+descricao+"</td>");
out.println("<td><font face='Verdana'>"+tipo+"</td>");
out.println("</tr>");
Statement statement = con.createStatement();//cria um objeto statement para a conexao
ResultSet result = statement.executeQuery("select * from imovel where codigo =" + codigo);
if(result.next() == true){//se houver um ra já cadastrado com mesmo número,volta para a página inicial
out.println("CÓDIGO JÁ CADASTRADO! DIGITE OUTRO CÓDIGO!");
out.println("<p><a href=index.jsp><strong>Início</strong></a></p>");
}else{
boolean res = statement.execute("INSERT INTO imovel (codigo,nome,valor, descricao,tipo) VALUES ("+codigo+",'"+nome+"',"+ valor +",'"+descricao+"','"+tipo+"')");
statement.close();//excute é para usar em objetos BOOLEAN
con.close(); // Fecha a conexão com o Banco de Dados
out.println("<br>Dados Cadastrados com Sucesso<br><br>");
out.println("<p><a href=index.jsp><strong>Início</strong></a></p>");
out.println("<p><a href=RemoveImovel.jsp><strong>Excluir</strong></a></p>");
//getServletContext().getRequestDispatcher(response.encodeURL("/questao2.jsp")).forward(request, response);
}
}catch(SQLException ex){
out.println("<p><h3 align = CENTER>Problemas com o banco de Dados!</h3></p>");
out.println(ex);
}catch(NumberFormatException ex){
//excessões da classe java.lang.*;
out.println("<p><h3 align = CENTER>Problemas com o formato de Dados!</h3></p>");
out.println(ex);
}catch(java.lang.Exception ex){
//excessões da classe java.lang.*;
out.println("<p><h3 align = CENTER>Problemas com o formato de Dados!</h3></p>");
out.println(ex);
}finally {
out.close();
}
}
}
Banco de Dados IMOVEIS E TABELA IMOVEL
[code]
CREATE DATABASE IMOVEIS
CREATE TABLE imovel
(
codigo integer NOT NULL,
nome character varying(30) NOT NULL,
valor numeric(10,2) NOT NULL,
descricao character varying(100) NOT NULL,
tipo character varying(20) NOT NULL,
CONSTRAINT imovel_pkey PRIMARY KEY (codigo)
)[/code]
Todos os campos do JSP referente estão certos e com os formatos certos!! AJUDEM!!