Estou acompanhando um tutorial que elabora uma agenda em java para web. segue abaixo o link de uma das 16 aulas.
http://www.youtube.com/watch?v=5UmMwnYPo9Y&feature=endscreen&NR=1
Fiz tudo conforme o video mandou mas quando executo a minha classe jsp da o seguinte erro abaixo.
Já colocquei o mysqlconnector na pasta lib, e também já adiconei no classpath do eclipse…
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error that prevented it from fulfilling this request.
exception
java.lang.NullPointerException
dao.JDBCContatoDAO.inserir(JDBCContatoDAO.java:24)
action.InserirContato.doPost(InserirContato.java:86)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.32 logs.
Apache Tomcat/7.0.32
<%@page import="model.Contato"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Agenda de Contatos</title>
</head>
<body>
<body bgcolor="#00CED1">
<h3>Dados de entrada:</h3>
<form action="InserirContato" method = "post">
Nome:<input type="text" name="nome"> <br>
Telefone: <input type="text" name="telefone"> <br>
Celular:<input type="text" name="celular"> <br>
Nascimento:<input type="text" name="nascimento"> <br>
Endereço:<input type="text" name="endereco"> <br>
Cidade:<input type="text" name="cidade"> <br>
Estado:<input type="text" name="estado"> <br>
<input type="submit" value="Salvar">
</form>
</body>
</html>
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
import model.Contato;
public class JDBCContatoDAO implements ContatoDAO {
Connection conexao;
public JDBCContatoDAO(Connection conexao) {
this.conexao = conexao;
}
public void inserir(Contato contato) {
String comando = "insert into Contato (nome, telefone,celular,dataNascimento,endereco, cidade,estado)"
+ "values(?,?,?,?,?,?,?)";
PreparedStatement p;
try {
p = this.conexao.prepareStatement(comando);
p.setString(1, contato.getNome());
p.setString(2, contato.getTelefone());
p.setString(3, contato.getCelular());
p.setDate(4, new java.sql.Date(contato.getDataNascimento()
.getTime()));
p.setString(5, contato.getEndereco());
p.setString(6, contato.getCidade());
p.setString(7, contato.getEstado());
p.execute();
} catch (SQLException e) {
e.printStackTrace();
}
}
public List<Contato> listarTodos() {
return null;
}
}
package action;
import java.io.IOException;
import java.sql.Connection;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import model.Contato;
import dao.FabricaConexao;
import dao.JDBCContatoDAO;
/**
* Servlet implementation class InserirContato
*/
@WebServlet("/InserirContato")
public class InserirContato extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public InserirContato() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
System.out.println("Servelet gravando função de Contato");
String nome = request.getParameter("nome");
String telefone = request.getParameter("telefone");
String celular = request.getParameter("celular");
String nascimentost = request.getParameter("nascimento");
String endereco = request.getParameter("endereco");
String cidade = request.getParameter("cidade");
String estado = request.getParameter("estado");
// formatador de data SimpleDateFormat + parse (string )
Date date = null;
try {
date = new SimpleDateFormat("dd/MM/yyyy").parse(nascimentost);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// objeto contato Contruir.
Contato novoContato = new Contato();
novoContato.setCelular(celular);
novoContato.setCidade(cidade);
novoContato.setDataNascimento(date);
novoContato.setEndereco(endereco);
novoContato.setEstado(estado);
novoContato.setNome(nome);
novoContato.setTelefone(telefone);
FabricaConexao fabrica = new FabricaConexao();
Connection conexao = fabrica.fazConexao();
JDBCContatoDAO dao = new JDBCContatoDAO(conexao);
dao.inserir(novoContato);
}
}
Fico grato se puderem me ajudar…
evandro.toffuli@terra.com.br