olá pessoal estou aqui novamente precisando da ajuda de vcs.Tenho uma servlet com um cadastro simples e eu quero que ao clicar no botão enviar de uma mensagem dizendo cadastro realizado com sucesso.isto está na servlet só que quando executo não aparece.Alguém saberia me dizer o que esta errado.Vou disponibilizar o código.
Servlet
package br.com.fagner.addContato;
import java.io.IOException;
import java.io.PrintWriter;
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;
import javax.swing.JOptionPane;
import br.com.fagner.jdbc.DaoContato.DaoContato;
import br.com.fagner.jdbc.modelo.BeansContato;
import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException;
public class AdicionaContatoServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
String nome = request.getParameter("nome");
String endereco = request.getParameter("endereco");
String email = request.getParameter("email");
String dataEmTexto = request.getParameter("dataNascimento");
Calendar dataNascimento = null;
try{
Date data = new SimpleDateFormat("dd/mm/yyyy").parse(dataEmTexto);
dataNascimento = Calendar.getInstance();
dataNascimento.setTime(data);
}catch(ParseException | java.text.ParseException e){
JOptionPane.showMessageDialog(null, "Não foi possível converte a data /n" + e);
return;
}
BeansContato contato = new BeansContato();
contato.setNome(nome);
contato.setEndereco(endereco);
contato.setEmail(email);
contato.setDataNascimento(dataNascimento);
DaoContato dao = new DaoContato();
dao.adiciona(contato);
System.out.println("aqui");
out.println("<html>");
out.println("<body>");
out.println("<h2>Contato " + contato.getNome() + " adicionado com sucesso</h2>");
out.println("</body>");
out.println("</html>");
}
}
Classe conexão com mysql
package br.com.fagner.jdbc.conexao;
import java.sql.*;
public class ConexaoMySql {
public Connection getConnection(){
//JOptionPane.showMessageDialog(null,"Conectado ao banco");
//System.out.println("Conectado ao banco");
try{
Class.forName("com.mysql.jdbc.Driver");
return DriverManager.getConnection("jdbc:mysql://localhost/fj21","root","");
}catch(SQLException | ClassNotFoundException e){
throw new RuntimeException(" não foi possível abrir conexão " + e);
}
}
}
Classe DaoContato
package br.com.fagner.jdbc.DaoContato;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import br.com.fagner.jdbc.conexao.ConexaoMySql;
import br.com.fagner.jdbc.modelo.BeansContato;
import java.text.SimpleDateFormat;
import javax.swing.JOptionPane;
public class DaoContato {
Connection conexao = new ConexaoMySql().getConnection();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm");
public void adiciona(BeansContato contato){
String sql = "insert into contatos(nome,email,endereco,dataNascimento) values(?,?,?,?)";
try{
PreparedStatement stm = (conexao).prepareStatement(sql);
stm.setString(1, contato.getNome());
stm.setString(2, contato.getEmail());
stm.setString(3, contato.getEndereco());
stm.setDate(4, new Date(contato.getDataNascimento().getTimeInMillis()));
stm.execute();
stm.close();
JOptionPane.showMessageDialog(null," O contato " + contato.getNome() + " foi adicionado com sucesso! ");
}catch(SQLException e){
JOptionPane.showMessageDialog(null," Não foi possível adicionar o contato \n" + e);
}
}
public List<BeansContato> getLista(){
try{
List<BeansContato> contatos = new ArrayList<BeansContato>();
PreparedStatement stmt = ((Connection) conexao).prepareStatement("select * from contatos");
ResultSet rs = stmt.executeQuery();
while(rs.next()){
BeansContato c = new BeansContato();
c.setId(rs.getLong("id"));
c.setNome(rs.getString("nome"));
c.setEmail(rs.getString("email"));
c.setEndereco(rs.getString("endereco"));
Calendar data = Calendar.getInstance();
data.setTime(rs.getDate("dataNascimento"));
c.setDataNascimento(data);
contatos.add(c);
}
rs.close();
stmt.close();
return contatos;
}catch(SQLException e){
JOptionPane.showMessageDialog(null," Não foi possível listar registros \n" + e);
}
return null;
}
}
Classe BeansContato
package br.com.fagner.jdbc.modelo;
import java.util.*;
public class BeansContato {
private long id;
private String nome;
private String email;
private String 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) {
this.dataNascimento = dataNascimento;
}
}
Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>Agenda</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>AdicionaContato</servlet-name>
<servlet-class>br.com.fagner.addContato.AdicionaContatoServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AdicionaContato</servlet-name>
<url-pattern>/adicionaContato</url-pattern>
</servlet-mapping>
</web-app>