Pessoal não consigo fazer o exercício, estou muito confuso introduzo os dados do formulário e da erro =S, insiro os dados e da erro 500, tirei a data de nascimento porque só dava erro de conversão se alguém tambem conseguir me ajudar, agradeceria =D
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.RuntimeException: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/fj21
br.com.caelum.agenda.servlet.ConnectionFactory.getConnection(ConnectionFactory.java:17)
br.com.caelum.agenda.servlet.ContatoDAO.<init>(ContatoDAO.java:17)
br.com.caelum.agenda.servlet.AdicionaContatoServlet.service(AdicionaContatoServlet.java:48)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/fj21
java.sql.DriverManager.getConnection(Unknown Source)
java.sql.DriverManager.getConnection(Unknown Source)
br.com.caelum.agenda.servlet.ConnectionFactory.getConnection(ConnectionFactory.java:14)
br.com.caelum.agenda.servlet.ContatoDAO.<init>(ContatoDAO.java:17)
br.com.caelum.agenda.servlet.AdicionaContatoServlet.service(AdicionaContatoServlet.java:48)
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.23 logs.
Apache Tomcat/7.0.23
package br.com.caelum.agenda.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class AdicionaContatoServlet extends HttpServlet {
protected void service(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
// BUSCA O WRITER
PrintWriter out = response.getWriter();
// buscando os parametros no request
String nome = request.getParameter("nome");
String endereco = request.getParameter("endereco");
String email = request.getParameter("email");
// String dataEmTexto = request.getParameter("dataNascimento");
// Calendar dataNascimento = null;
// fazendo a conversão da data
/* try {
Date data = new SimpleDateFormat("dd/MM/yyyy").parse(dataEmTexto);
dataNascimento = Calendar.getInstance();
dataNascimento.setTime(data);
} catch (ParseException e) {
out.print("Erro de conversão de data");
return;
// return para parar a execução do metodo
}*/
// monta um objeto contato
Contato contato = new Contato();
contato.setNome(nome);
contato.setEndereco(endereco);
contato.setEmail(email);
// contato.setDataNascimento(dataNascimento);
// salva o contato
ContatoDAO dao = new ContatoDAO();
dao.adiciona(contato);
// imprime o metodo contato que foi inserido
out.print("<html>");
out.print("<body>");
out.print("Contato" + contato.getNome() + " adicionado com sucesso");
out.print("</body>");
out.print("</html>");
}
}
package br.com.caelum.agenda.servlet;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Contato {
private Long id;
private String nome, email,endereco;
private Calendar dataNascimento;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
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 Calendar getDataNascimento() {
return dataNascimento;
}
public void setDataNascimento(Calendar dataNascimento) {
// String dataEmTexto = request.getParameter("dataNascimento");
// Date date = new SimpleDateFormat("dd/MM/yyyy").parse(dataEmTexto);
this.dataNascimento = dataNascimento;
}
// public String getDataFormatada() {
// SimpleDateFormat formatado = new SimpleDateFormat("dd/MM/yyyy");
// String dataFormat = formatado.format(dataNas);
// return dataFormat;
// }
}
package br.com.caelum.agenda.servlet;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Contato {
private Long id;
private String nome, email,endereco;
private Calendar dataNascimento;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
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 Calendar getDataNascimento() {
return dataNascimento;
}
public void setDataNascimento(Calendar dataNascimento) {
// String dataEmTexto = request.getParameter("dataNascimento");
// Date date = new SimpleDateFormat("dd/MM/yyyy").parse(dataEmTexto);
this.dataNascimento = dataNascimento;
}
// public String getDataFormatada() {
// SimpleDateFormat formatado = new SimpleDateFormat("dd/MM/yyyy");
// String dataFormat = formatado.format(dataNas);
// return dataFormat;
// }
}