1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Erro ao cadastrar servlet ao banco de dados

Olá pessoal, sou iniciante em java para a web e estou tenho um formulario e queria encaminhar ele para um servidor, eu criei um servlet e estou tentando salar meus dados em um banco de dados mas n estou conseguindo. Quando eu clico no botão submit ele me mostrar uma pagina em branco e não cadastra nada no banco de dados. Já agradeço a ajuda.

ta aqui meu servlet

package br.com.cadastroFuncionariosWeb.controler;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Calendar;
import java.sql.Date;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import javax.management.RuntimeErrorException;
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 java.text.ParseException;

import br.com.cadastroFuncionarioWeb.dao.FuncionarioDao;
import br.com.cadastroFuncionarioWeb.model.Funcionario;

/**
 * Servlet implementation class CadastrarFuncionariosServlet
 */
@WebServlet(name = "CadastrarFuncionariosServlet", urlPatterns = {"/CadastrarFuncionarios"})
public class CadastrarFuncionariosServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;


    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //doService(request,response);
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) {
        try {
            doService(request,response);
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (ServletException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

    protected void doService(HttpServletRequest request,
            HttpServletResponse response)throws ServletException, IOException,ParseException, ClassNotFoundException, SQLException {

            response.setContentType("text/html;charset=UTF-8");
            PrintWriter out = response.getWriter();

            String nome = request.getParameter("nome");
            String sNascimento = request.getParameter("nascimento");
            Calendar dataNascimento = null;
            String sSalario = request.getParameter("salario");
            String sSexo = request.getParameter("sexo");
            String sTemporario = request.getParameter("temporario");

            // try - catch para tratar as conversões


            java.util.Date date =
                new SimpleDateFormat("dd/MM/yyyy")
            .parse(sNascimento);

                dataNascimento = Calendar.getInstance();
                dataNascimento.setTime(date);

                Double salario = Double.parseDouble(sSalario);
                Character sexo = sSexo.charAt(0);
                Boolean temporario = Boolean.parseBoolean(sTemporario);




            // monta um objeto funcionario
            Funcionario funcionario = new Funcionario();
            funcionario.setNome(nome);
            funcionario.setNascimento(dataNascimento);
            funcionario.setSalario(salario);
            funcionario.setSexo(sexo);
            funcionario.setTemporario(temporario);

            // salva o funcionario
            FuncionarioDao FuncDao = new FuncionarioDao();
            FuncDao.adiciona(funcionario);

            // imprime o nome do contato que foi adicionado
            out.println("<html>");
            out.println("<title> Cadastro de funcionarios </title>");
            out.println("<h1>Funcionarios Cadastrados</h1>");
            out.println("<body>");
            out.println("Funcionario " + funcionario.getNome() +
            " adicionado com sucesso");
            out.println("<p> <hr /> </p> <p><a href='index.html'> Formulário de cadastro </a></p>");
            out.println("</body>");
            out.println("</html>");

            out.close();
    }

}

Calsse FuncionarioDao

package br.com.cadastroFuncionarioWeb.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Date;

import br.com.cadastroFuncionarioWeb.model.Funcionario;

import CadastroFuncionariosWeb.Conexao;

public class FuncionarioDao {
    private Connection con;

    public FuncionarioDao() throws ClassNotFoundException, SQLException {
        this.con = new Conexao().conectar();

    }

    public void adiciona(Funcionario funcionario) throws SQLException{
        String sql = "insere into funcionarios" +
        "(nome,nascimento,salario,sexo,temporario)" +
        "values(?,?,?,?,?)";

        try {
            PreparedStatement stmt = con.prepareStatement(sql);
            stmt.setString(1, funcionario.getNome());
            stmt.setDate(2,new Date(
                    funcionario.getNascimento().getTimeInMillis()));
            stmt.setDouble(3, funcionario.getSalario());
            stmt.setString(4, String.valueOf(funcionario.getSexo()));
            stmt.setBoolean(5, funcionario.getTemporario());

            stmt.execute();
            stmt.close();
        } catch (SQLException e) {
            // TODO: handle exception
        }


    }
}

A classe bean Funcionario

package br.com.cadastroFuncionarioWeb.model;

import java.sql.Date;
import java.util.Calendar;

public class Funcionario {
    private Long id;
    private  String nome;
    private Calendar nascimento;
    private Double salario;
    private Character sexo;
    private Boolean temporario;

    public Funcionario(){

    }

    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 Calendar getNascimento() {
        return nascimento;
    }

    public void setNascimento(Calendar nascimento) {
        this.nascimento = nascimento;
    }

    public Double getSalario() {
        return salario;
    }

    public void setSalario(Double salario) {
        this.salario = salario;
    }

    public Character getSexo() {
        return sexo;
    }

    public void setSexo(Character sexo) {
        this.sexo = sexo;
    }

    public Boolean getTemporario() {
        return temporario;
    }

    public void setTemporario(Boolean temporario) {
        this.temporario = temporario;
    }
}

E a Classe de conexao

package CadastroFuncionariosWeb;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Conexao {
    public Connection conectar() throws SQLException,ClassNotFoundException{

        try {
            Class.forName("com.mysql.jdbc.Driver");
            return DriverManager.getConnection(
                    "jdbc:mysql//localhost/3306/teste","root","root10");
         }
         catch (SQLException e) {
             throw new SQLException("Error ao executar comando SQL:" + e.getMessage());
         }
         catch (ClassNotFoundException e) {
             throw new ClassNotFoundException("Drive não encontrado:" + e.getMessage());
         }
    }
}

E a pagina index.html

<!DOCTYPE html">
<html lang="pt-br">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Cadastro de Funcionários</title>
</head>
<body>
    <h1>Cadastro de Funcionários</h1>
    <form name="frmCadastro" method="post" action="CadastrarFuncionarios">
        <p> Nome: <input type="text" name="nome" size="30"/> </p>
        <p> Data de Nascimento <input type="text" name="nascimento" size="15" />
        (dd/mm/aaaa)</p>
        <p> Salário: R$ <input type="text" name="salario" size="15"/></p>
        <p> Sexo: 
        <input type="radio" name="sexo" value="M" /> Masculino
        <input type="radio" name="sexo" value="F" /> Femenino
        </p>
        <p> <input type="checkbox" name="Temporario" value="true"/> Funcionário Temporário? </p>
        <p> <input type="submit" value="cadastrar"/>
     </form>
</body>
</html>
  • Há uma falha na sua query. está insere ao invés de insert,

    acmprotector   04 de mai de 2015
  • ah obrigado mas eu corrigir essa falha já e continua da mesma forma, está dando um erro de classNotFound mas n sei o q é.

    paulo henrique   05 de mai de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java-ee servlets web java ou faça a sua própria pergunta.