Ir para conteúdo
Fórum Script Brasil

gabriel.rechds

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Posts postados por gabriel.rechds

  1. Não foi possível conectar ao BD.
     Mensagem: No suitable driver found for jdbc:mysql://localhost:3306/fornecedor
    fev 16, 2020 5:23:55 PM org.apache.catalina.core.StandardWrapperValve invoke
    GRAVE: Servlet.service() for servlet [com.fornecedor.controller.CompradorController] in context with path [/fornecedor] threw exception

     

    Erro ao executar o botão. O driver está na pasta lib.

  2. Opa, to fritando a cabeça aqui com um submit, se alguém puder me ajudar. 

    OBS: sobre os comentários, sei que tem muitos, mas é porque to aprendendo e gosto de comentar em códigos didáticos kkkk

    Connector:

    package com.fornecedor.jdbc;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    public class Connector {
    	
    	public static Connection getConnection() { //método estático, não preciso instanciar objeto para invocá-lo
    	Connection con = null; // Variável de conexão ao BD.
    		try {
    			con = DriverManager.getConnection("jdbc:mysql://localhost:3306/fornecedor?useTimezone=true&serverTimezone=America/Sao_Paulo", "root", "Carbolitium@300");
    			/*
    			 * No comando acima, estamos definindo o valor de con para fechar conexão com o Banco de Dados. 
    			 * O método getConnection está dentro da classe DriverManager
    			 * No caminho do banco de dados estamos especificando a TimeZone também
    			 */
    			System.out.println("Conectado com sucesso!");
    			} catch(SQLException e) {
    				System.out.println("Não foi possível conectar ao BD.\n Mensagem: " + e.getMessage());
    			}
    		return con; // caso dê certo, retorna con com valor o BD, caso não dê certo, retorna con com valor NULL.
    	}
    }

    * Foi testada a conexão, está ok.

    Método cadastrar no DAO: 

    package com.fornecedor.jdbc;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import com.fornecedor.entidades.Comprador;
    
    public class CompradorDAO {
    	//comando para montar o SQL
    	private Connection con = Connector.getConnection();
    	
    	//create
    	public void cadastrar(Comprador comprador) {
    		String sql = "INSERT INTO COMPRADOR(nome, sobrenome, ramal, login, senha) values (?,?,?,?,?)";
    		
    		//construção preparedstatement com SQL
    		
    		try {
    			
    			PreparedStatement preparador = con.prepareStatement(sql);
    			
    			preparador.setString(1, comprador.getNome());
    			preparador.setString(2, comprador.getSobrenome());
    			preparador.setString(3, comprador.getRamal());
    			preparador.setString(4, comprador.getLogin());
    			preparador.setString(5, comprador.getSenha());
    			
    			//injeta o SQL
    			preparador.execute();
    			
    			//encerra o preparador
    			preparador.close();
    			
    			System.out.println("Cadastrado com sucesso!");
    			
    		} catch (SQLException e) {
    			System.out.println("Mensagem: " + e.getMessage());
    		}
    	}

    * Foi testado o método cadastrar como Java Application, está ok.

    Formulário:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="ISO-8859-1">
    		<title>Cadastre seu usuário!</title>
    	</head>
    	
    	<body>
    		<form action="compradorcontroller.do" method="post">
    			
    			<label>Nome: </label>
    			<input type="text" name="txtnome" value="" size="20" maxlength="30"/>
    			
    			<label>Sobrenome: </label>
    			<input type="text" name="txtsobrenome" value="" size="20" maxlength="40"/>
    			
    			<label>Ramal: </label>
    			<input type="text" name="txtramal" value="" size="20" maxlength="4">
    			
    			<label>Login: </label>
    			<input type="text" name="txtlogin" value="" size="20" maxlength="20">
    			
    			<label>Senha: </label>
    			<input type="password" name="txtsenha" value="" maxlength="6"/>
    			
    			<input type="submit" value="Salvar"/>
    		
    		</form>
    	</body>
    	
    </html>

     

    Controller:

    package com.fornecedor.controller;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    
    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 com.fornecedor.entidades.Comprador;
    import com.fornecedor.jdbc.CompradorDAO;
    
    
    @WebServlet("/compradorcontroller.do")
    public class CompradorController extends HttpServlet {
    	private static final long serialVersionUID = 1L;
           
        
        public CompradorController() {
            super();        
        }
    
    	
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		
    	}
    
    	
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		System.out.println("Chamando metodo POST");
    		
    		//Recebe os dados pela tela
    		String nome = request.getParameter("txtnome");
    		String sobrenome = request.getParameter("txtsobrenome");
    		String ramal = request.getParameter("txtramal");
    		String login = request.getParameter("txtlogin");
    		String senha = request.getParameter("txtsenha");
    		
    		//seta os valores nas variáveis privadas da classe comprador, dentro do objeto comprador
    		Comprador comprador = new Comprador();
    		comprador.setNome(nome);
    		comprador.setSobrenome(sobrenome);
    		comprador.setRamal(ramal);
    		comprador.setLogin(login);
    		comprador.setSenha(senha);
    		
    		//executa o método de cadastrar
    		CompradorDAO compradorDAO = new CompradorDAO();
    		compradorDAO.cadastrar(comprador);
    		
    		//resposta após o submit
    		PrintWriter saida = response.getWriter();
    		saida.println("Cadastrado com sucesso!");
    		
    		
    	}
    
    }

     

×
×
  • Criar Novo...