NullPointerException

PostgreSQL

Java

11/05/2016

Não consigo resolver esse erro, ele está dando ponteiro nulo, mas não consigo achar esse nulo.
Agradeço a ajuda!

LINHA 25 - "PreparedStatement preparador = con.prepareStatement(sql); "
LINHA 59 - "usuDAO.cadastrar(usu);"



java.lang.NullPointerException
br.com.ibgeEstagio.jdbc.UsuarioDAO.cadastrar(UsuarioDAO.java:25)
br.com.ibgeEstagio.controller.UsuarioController.doPost(UsuarioController.java:59)
javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52

public void cadastrar(Usuario usuario){
		//Montando o SQL
		String sql = "INSERT INTO estagiario.usuario (nome,login,senha) values (?,?,?)";
		
		
		//Controe PreparedStatement com sql
		try {
			PreparedStatement preparador = con.prepareStatement(sql); 
			preparador.setString(1, usuario.getNome());
			preparador.setString(2, usuario.getLogin());
			preparador.setString(3, usuario.getSenha());
			
			preparador.execute();
			preparador.close();
			
			System.out.println("Cadastrado com Sucesso!");
			
			
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}





protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
		System.out.println("Chamando método POST");
		
		// Receber dados na tela
		String nome = request.getParameter("txtnome");
		String login = request.getParameter("txtlogin");
		String senha = request.getParameter("txtsenha");
		
		
		// Cria objeto usuario e seta os valores vindos da tela
		Usuario usu = new Usuario();
		usu.setNome(nome);
		usu.setLogin(login);
		usu.setSenha(senha);
		
		// Pede para o usuarioDao cadastrar no banco de dados
		UsuarioDAO usuDAO = new UsuarioDAO();
		usuDAO.cadastrar(usu);
		
		System.out.println("Chamando método POST4");
		
		// Saida ao browser
		PrintWriter saida = response.getWriter();
		saida.print("Cadastrado!");
		
	}
Romulo Tomaz

Romulo Tomaz

Curtidas 0

Respostas

Miguel Junior

Miguel Junior

11/05/2016

Boa noite, Romulo.
Segue uma possível solução para o seu problema :

       public void cadastrar(Usuario usuario){
        //Montando o SQL
        String sql = "INSERT INTO estagiario.usuario (nome,login,senha) values (?,?,?)";
        
        // exemplo de conexão com o banco de dados 
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/loja","root","root");           
        
         //Constroe PreparedStatement com sql
        try {
            PreparedStatement preparador = con.prepareStatement(sql); 
            preparador.setString(1, usuario.getNome());
            preparador.setString(2, usuario.getLogin());
            preparador.setString(3, usuario.getSenha());
             
            preparador.execute();
            preparador.close();
             
            System.out.println("Cadastrado com Sucesso!");
             
             
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
GOSTEI 0
POSTAR