Dúvida insert atraves de jsp + servlet num bd postgresql

2 respostas
R

oi.
estou iniciando no mundo java/servlet.
e pera aprender (sem usar IDE), estou tentando fazer um simples insert num banco de dados postgresql.
é bem simples:

  1. uma pagina jsp com formularios para o usuario preencher (4 campos).

  2. esses dados dos formularios vao pra um servlet, onde: eu recebo esses dados dos formulario, coloco eles num objeto, depois eu resgato esses dados do objeto, abro a conexao com o banco de dados, e faço o insert.

  3. se deu tudo ok, eu direciono para um jsp com uma mensagem “sucesso.jsp”. se nao deu certo, eu direciono para um jsp "erro.jsp"
    obs: to tentando respeitar o MVC.
    bom, eu compilo o codigo abaixo, e recebo uma mensagem de erro sobre o metodo inserir e a chamada dele.
    o que eu to fazendo de errado?

    import javax.servlet.<em>;
    
    import javax.servlet.http.</em>;
    
    import <a href="http://java.io">java.io</a>.*;
    

    import java.util.;
    import javax.
    ;

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

    public class InsereServlet extends HttpServlet {

    String matric;
    
    String nom;
    
    String telef;
    
    String emai;
    

    //****************************************************

    public InsereServlet(){}

    public void  setMatric (String matric){
    
    this.matric = matric;
    
    }
    
    public void  setNom (String nom){
    
    this.nom = nom;
    
    }
    
    public void  setTelef (String telef){
    
    this.telef = telef;
    
    }
    
    public void  setEmai (String emai){
    
    this.emai = emai;
    
    }
    
    //****************************************************
    
    public String getMatric(){
    
    return matric;
    
    }
    
    public String getNom(){
    
    return nom;
    
    }
    
    public String getTelef(){
    
    return telef;
    
    }
    
    public String getEmai(){
    
    return emai;
    
    }
    
    //---------------------------------------------------
    
    public void doPost (HttpServletRequest request,
    
    HttpServletResponse response)
    
    throws ServletException, IOException {
    

    response.setContentType(“text/html”);

    InsereServlet obj = new InsereServlet();

    obj.setMatric(request.getParameter(matricula));
    
    obj.setNom(request.getParameter(nome));
    
    obj.setTelef(request.getParameter(telefone));
    
    obj.setEmai(request.getParameter(email));
    
    String v1 = obj.getMatric();
    
    String v2 = obj.getNom();
    
    String v3 = obj.getTelef();
    
    String v4 = obj.getEmai();
    

    PrintWriter out = response.getWriter();

    out.println("<html>");
     out.println("<body>");
     out.println("<center>");
     out.println("<br>");
     out.println("<br>");
     out.println("entao a matricula eh " + v1);
     out.println("<br>");
     out.println("<br>");
     out.println("entao o nome eh " + v2); 
     out.println("<br>");
     out.println("<br>");
     out.println("entao o telefone eh " + v3); 
     out.println("<br>");
     out.println("<br>");
     out.println("entao o email eh " + v4); 
     out.println("</center>"); 
     out.println("</body>");
     out.println("</html>");
    
     }
    
    //*************************************************************************************************************************************************************************
    
    public Connection getConexao() {
    
    Connection conexao = null;
    
    String usuario = app;
    
    String senha = 1234567;
    
    String nomeBancoDados = locadora;
    
    try {
     		Class.forName("org.postgresql.Driver");
     		conexao = DriverManager.getConnection("jdbc:postgresql://localhost:5432/" + nomeBancoDados, usuario, senha);
     	} catch (Exception e) {
     		e.printStackTrace();
     	}
     	return conexao;
     }
    
    //*************************************************************************************************************************************************************************
    
    public void  inserir() {
    
    try {
    
    Connection conexao = getConexao();
    
    PreparedStatement pstm = conexao.prepareStatement(Insert into tbaluno (matricula, nome, telefone, email) values (?,?,?,?));
    
    pstm.setString(1, obj.getMatric());
    
    pstm.setString(2, obj.getNom());
    
    pstm.setString(3, obj.getTelef());
    
    pstm.setString(4, obj.getEmai());
    
    pstm.execute();
     		pstm.close();
     		conexao.close();
     	response.sendRedirect("sucesso.jsp");
     		
     	} catch (Exception e) {
     		e.printStackTrace();
     	response.sendRedirect("erro.jsp");
     		
     	}
     }
    

    inserir();

    }

o erro que é mostrado ao compilar eh:
error: invalid method declaration; return required
inserir();
1 error

confesso que eu nao descobri ate agora como passar o objeto “obj” como parametro…
e nao tem exemplo de CRUD na internet sem ser feito com IDE…
um insert é tao simples em outras linguagens de programaçãa, mas usando servlet…
ja li varios livros de java, vi varios exemplos, mas nao achei nada simples que resolvesse esse “problema”.
algum pode me ajudar, por favor?

2 Respostas

C

Olá,

Você está fazendo tanta coisa errada/não recomendada que é melhor estudar/aprender através de algum tutorial.

Sugiro a seguinte apostila: Apostila do curso FJ-21 - Java para Desenvolvimento Web .

Atenciosamente.

A

Olha esse link AQUI

Criado 10 de junho de 2016
Ultima resposta 12 de jun. de 2016
Respostas 2
Participantes 3