Não sei como enviar os dados do meu form para o banco de dados

6 respostas
alinealves

Bom dia!

Primeiramente gostaria de pedir desculpas pela minha pergunta primária e boba, mas procurei em diversos fóruns como fazer isso, testei e não deu certo. Com certeza estou deixando passar algo importante. Se alguém puder me ajudar ficaria muiiiiito grata!

Estou usando mysql, tomcat e eclipse. Montei um jsp com um form para pegar o que o usuário digitar, e um servlet que mostra na tela o que o usuário digitou. Até aqui esta ok. Porém ele não salva no banco de dados o que foi digitado. Como faço para fazer isso?


cadmunic.jsp  
    <!DOCTYPE html   
    PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "<a target="_blank" href="http://www.w3.org/TR/html4/loose.dtd">">http://www.w3.org/TR/html4/loose.dtd"></a>  
    <html>  
    <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">  
    <title> Cadastro de Município </title>  
    </head>  
    <body>  
    <center> <table align="center">  
         <tr>  
            <td> <h1> Cadastro de Município </h1> </td> </tr> </table> </center> <form action="ServletMunic" method="get">  
                <table  align="center">  
                    <tr> <td > Código IBGE: </td> <td align="left"> <input type="text" name="idmunicipio" maxlength="10"> </td> </tr>  
                    <tr> <td > Estado: </td> <td align="left"> <input type="text" name="ufmunicipio" maxlength="10">  
                    <tr> <td > Município: </td> <td> <input type="text" name="nomemunicipio" maxlength="50"> </td> </tr>  
                    <tr> <td > <p align="center"> <input type="submit" value="Enviar"> <input type="reset" value="Cancela"> </p> </td> </tr>  
      
           
            </table>  
            </form>  
    </body>  
    </html>  
    _____________________________________________________________  
    ServletMunic.java  
    package sistematizacao.dao;  
      
    import java.io.IOException;  
      
    import java.io.PrintWriter;  
      
    import javax.servlet.ServletException;  
      
    import javax.servlet.http.HttpServlet;  
      
    import javax.servlet.http.HttpServletRequest;  
      
    import javax.servlet.http.HttpServletResponse;  
      
    public class ServletMunic extends HttpServlet {  
           
          
              
            /** 
         *  
         */  
        private static final long serialVersionUID = 1L;  
      
        /** 
         *  
         */  
       
        protected void service (HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {  
            PrintWriter out = response.getWriter();  
      
                        response.setContentType("text/html;charset=UTF-8");  
                          
                        int idmunicipio= Integer.parseInt(request.getParameter("idmunicipio").toString());  
                        String nomemunicipio = request.getParameter("nomemunicipio");  
                        String ufmunicipio = request.getParameter("ufmunicipio");  
                                      
                        String msg= "  
     O Município " + nomemunicipio + " pertencente ao estado " + ufmunicipio +   
                                " foi cadastrado com sucesso no código de IBGE " + idmunicipio;  
                          
                        out.println("<html>");  
      
                        out.println("<head>");  
      
                        out.println("<title>Servlet</title>");  
      
                        out.println("</head>");  
      
                        out.println("<body><center>");  
      
                        out.println("<h1>Cadastro de Município</h1>  
      
    <hr>");  
      
                        out.println(msg);  
                          
                        out.println("</br>");  
      
                        out.println("</br> <a href='CadMunic.jsp'> Voltar </a>");  
      
                        out.println("</center></body>");  
      
                        out.println("</html>");  
                         
                        out.close();  
      
                    }  
      
                }  
      
      
      
    __________________________________________________________  
    MunicDAO.java  
      
      
    package sistematizacao.dao;  
    import java.sql.Connection;  
    import java.sql.PreparedStatement;  
    import java.sql.ResultSet;  
    public class MunicDAO {  
      
           private int idmunicipio;  
      
           private String nomemunicipio;  
             
           private String ufmunicipio;  
      
                 public MunicDAO(int idmunicipio, String nomemunicipio, String ufmunicipio ){  
      
                 this.idmunicipio = idmunicipio;  
      
                 this.nomemunicipio = nomemunicipio;  
                   
                 this.ufmunicipio = ufmunicipio;  
      
           }  
            
           public boolean verificaMunic() throws Exception{  
      
                 VerificarMunicDAO dao = new VerificarMunicDAO();  
      
                 return dao.isOk();  
      
           }  
      
                 public void inserirMunic() throws Exception{  
      
                 if(verificaMunic()) return;//   
      
                 InserirMunicDAO dao = new InserirMunicDAO();  
      
                 dao.executeSQL();  
      
           }  
      
           
              class VerificarMunicDAO extends TemplateDAO{  
      
                 private Boolean ok; //   
                   
      
                 @Override  
      
                 public PreparedStatement createAndExecuteStatement(Connection c) throws Exception {  
      
                        PreparedStatement ps = c.prepareStatement(  
      
                               "SELECT * FROM municipio WHERE idmunicipio = ? AND nomemunicipio = ? AND ufmunicipio = ? ");  
      
                        ps.setInt(1, getIdmunicipio());  
                        ps.setString(2, getNomemunicipio());  
                        ps.setString(3, getUfmunicipio());  
      
                        ResultSet rs = ps.executeQuery();  
      
                        this.ok = rs.next();//               
      
                        rs.close();  
      
                        return ps;  
      
                 }  
      
                 public boolean isOk() throws Exception{  
      
                        if(ok==null){  
      
                      
                               executeSQL();  
      
                        }  
      
                        return ok;  
      
                 }  
      
           }  
             
           // INNER CLASS (CLASSE INTERNA)  
      
           class InserirMunicDAO extends TemplateDAO{  
      
                 @Override  
      
                 public PreparedStatement createAndExecuteStatement(Connection c) throws Exception {  
      
                        PreparedStatement ps = c.prepareStatement(  
      
                                            " INSERT INTO municipio(idmunicipio,nomemunicipio, ufmunicipio) VALUES (?,?,?) ");  
      
                        ps.setInt(1, getIdmunicipio());  
                        ps.setString(2, getNomemunicipio());  
                        ps.setString(3, getUfmunicipio());  
      
                        ps.executeUpdate();  
      
                        return ps;  
      
                 }  
      
           }  
      
        public int getIdmunicipio() {  
            return idmunicipio;  
        }  
      
        public void setIdmunicipio(int idmunicipio) {  
            this.idmunicipio = idmunicipio;  
        }  
      
        public String getNomemunicipio() {  
            return nomemunicipio;  
        }  
      
        public void setNomemunicipio(String nomemunicipio) {  
            this.nomemunicipio = nomemunicipio;  
        }  
      
        public String getUfmunicipio() {  
            return ufmunicipio;  
        }  
      
        public void setUfmunicipio(String ufmunicipio) {  
            this.ufmunicipio = ufmunicipio;  
        }  
      
            
      
    }  
    _______________________________________________________  
    Template.DAO  
      
    package sistematizacao.dao;  
      
    import java.sql.Connection;  
    import java.sql.DriverManager;  
    import java.sql.PreparedStatement;  
    import java.sql.SQLException;  
    public abstract class TemplateDAO {  
      
           static{ //Registro do driver  
      
                 try{  
                        Class.forName("com.mysql.jdbc.Driver").newInstance();  
      
                 }catch (Exception e) {  
      
                         System.out.println("Erro ao registrar Driver!");  
      
                        e.printStackTrace();  
      
                 }  
      
           }  
      
           public void executeSQL(){  
      
                 Connection c = null;  
      
                 PreparedStatement ps = null;  
      
                 try{  
      
                        String url = "jdbc:mysql://localhost:3306/Sistematizacao";  
      
                        c = DriverManager.getConnection(url,"root",null);  
      
                        ps = createAndExecuteStatement(c);  
                  
      
                 }catch (Exception e) {  
      
                        System.out.println("Erro ao executar SQL");  
      
                        e.printStackTrace();  
      
                 }finally{  
      
                        try {  
      
                               if(c!=null) c.close();  
      
                               if(ps!=null)ps.close();  
      
                        } catch (SQLException e) {  
      
                               System.out.println("Erro ao finalizar operação SQL");  
      
                               e.printStackTrace();  
      
                        }  
      
                 }  
      
           }  
      
            
      
           public abstract PreparedStatement createAndExecuteStatement(Connection c) throws Exception;  
    }

Grata,
Aline Alves

6 Respostas

R

Adiciona essa linha:

ps.executeUpdate();    
                    c.commit();

O seu código tá muito confuso, não sei onde você está estudando Java web,mas estão te ensinando do jeito errado.
Recomendo essa apostila: http://www.caelum.com.br/apostila-java-web/ ,
aqui também http://docs.oracle.com/javase/tutorial/jdbc/basics/transactions.html para entender sobre manipulação de transactions .

pedrofurst

Opa, ta faltando o cabeçalho do jsp <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>

Você não abre a tag do formulário, porém também percebi que falta você compreender alguns conceitos.

fica a dica sobre JDBC http://www.caelum.com.br/apostila-java-web/bancos-de-dados-e-jdbc/

Espero ter ajudado,
Bons estudos.

alinealves

Ramon Pires:
Adiciona essa linha:

ps.executeUpdate();    
                    c.commit();

O seu código tá muito confuso, não sei onde você está estudando Java web,mas estão te ensinando do jeito errado.
Recomendo essa apostila: http://www.caelum.com.br/apostila-java-web/ ,
aqui também http://docs.oracle.com/javase/tutorial/jdbc/basics/transactions.html para entender sobre manipulação de transactions .

Obrigada Ramon!
Na apostila da faculdade…Pela sua reação não deve estar nada bom. o.O
Adorei o link, super detalhado, já mandei até imprimir…muito obrigada!!

alinealves

pedrofurst:
Opa, ta faltando o cabeçalho do jsp <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>

Você não abre a tag do formulário, porém também percebi que falta você compreender alguns conceitos.

fica a dica sobre JDBC http://www.caelum.com.br/apostila-java-web/bancos-de-dados-e-jdbc/

Espero ter ajudado,
Bons estudos.

Pelo que estou vendo pelas respostas de vocês esta faltando bastante coisa…Vou ler essas apostilas recomendadas por vocês…logo volto a postar para vocês verem se melhorou…muito obrigada!!!

R

alinealves:
Ramon Pires:
Adiciona essa linha:

ps.executeUpdate();    
                    c.commit();

O seu código tá muito confuso, não sei onde você está estudando Java web,mas estão te ensinando do jeito errado.
Recomendo essa apostila: http://www.caelum.com.br/apostila-java-web/ ,
aqui também http://docs.oracle.com/javase/tutorial/jdbc/basics/transactions.html para entender sobre manipulação de transactions .

Obrigada Ramon!
Na apostila da faculdade…Pela sua reação não deve estar nada bom. o.O
Adorei o link, super detalhado, já mandei até imprimir…muito obrigada!!


Repasse isso para os seus colegas de faculdade, pelo menos eu acredito que essa apostila é melhor com o conteúdo básico para iniciantes java web em português, mas também tem as da k19 k19.com.br/downloads/apostilas, fez bastante diferença pra mim durante a minha graduação.
Eu acho incrível que nas faculdades com curso de TI ainda os professores não mostram esse tipo de material como referência para quem está começando em java,que é dureza, passam uma referência bibliográfica que está na ementa do curso, mas são livros que na maioria das vezes não são nada simples e didáticos.

alinealves

Ramon Pires:
alinealves:
Ramon Pires:
Adiciona essa linha:

ps.executeUpdate();    
                    c.commit();

O seu código tá muito confuso, não sei onde você está estudando Java web,mas estão te ensinando do jeito errado.
Recomendo essa apostila: http://www.caelum.com.br/apostila-java-web/ ,
aqui também http://docs.oracle.com/javase/tutorial/jdbc/basics/transactions.html para entender sobre manipulação de transactions .

Obrigada Ramon!
Na apostila da faculdade…Pela sua reação não deve estar nada bom. o.O
Adorei o link, super detalhado, já mandei até imprimir…muito obrigada!!


Repasse isso para os seus colegas de faculdade, pelo menos eu acredito que essa apostila é melhor com o conteúdo básico para iniciantes java web em português, mas também tem as da k19 k19.com.br/downloads/apostilas, fez bastante diferença pra mim durante a minha graduação.
Eu acho incrível que nas faculdades com curso de TI ainda os professores não mostram esse tipo de material como referência para quem está começando em java,que é dureza, passam uma referência bibliográfica que está na ementa do curso, mas são livros que na maioria das vezes não são nada simples e didáticos.

Verdade. Tem umas indicações de livros…baixei…comecei a ler…mas desisti. O linguajar e a forma de abordagem para quem é iniciante não é nada atrativa…da vontade de desistir. Quem sabe um dia. Agora gostei dessa apostila que você me passou, é bem para quem esta iniciando mesmo, tudo no passo a passo.

Criado 28 de maio de 2013
Ultima resposta 29 de mai. de 2013
Respostas 6
Participantes 3