Estou estudando java para web, servlet etc.
estou com um projeto aqui, criei minha conexao com o banco de dados, meu dao, minha pagina html e meu servlet, o meu dao funciona normalmente (teste com junit, e ele inseriu no banco de dados) porém quando eu rodo a aplicação no tomcat ele da o seguinte erro:
java.lang.NullPointerException
dao.ContatoDAO.inserirContato(ContatoDAO.java:21)
servlet.AdicionaContato.service(AdicionaContato.java:35)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
o que pode ser?
Classe ContatoDAO:
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import data.Conexao;
import model.Contato;
public class ContatoDAO {
Connection con;
public ContatoDAO(){
con = new Conexao().getConnection();
}
public void inserirContato(Contato contato) {
String sql = "INSERT INTO tbl_contato(nome, endereco, email)VALUES (?, ?, ?);";
try {
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, contato.getNome());
ps.setString(2, contato.getEmail());
ps.setString(3, contato.getEndereco());
ps.execute();
} catch (SQLException e) {
throw new IllegalAccessError("erro inserir: " + e.getMessage());
}
}
}
Classe AdicionaContato:
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
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 dao.ContatoDAO;
import model.Contato;
@WebServlet("/adicionaContato")
public class AdicionaContato extends HttpServlet {
protected void service(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
// busca o writer
PrintWriter out = response.getWriter();
// buscando os parâmetros no request
String nome = request.getParameter("nome");
String endereco = request.getParameter("endereco");
String email = request.getParameter("email");
// monta um objeto contato
Contato contato = new Contato(nome, endereco, email);
// salva o contato
ContatoDAO dao = new ContatoDAO();
dao.inserirContato(contato);
// imprime o nome do contato que foi adicionado
out.println("<html>");
out.println("<body>");
out.println("Contato " + contato.getNome() +
" adicionado com sucesso");
out.println("</body>");
out.println("</html>");
}
}
alguem consegue me ajudar?