Problema a Busca no Banco

Estou com um problema na hora de busca pelos dados no banco, está cadastrando, mas não busca.

Vê se acha aonde está o erro, e consequentemente sua solução.

no pacote model criei essa classe:


package model;


public class ControleIni {

		private String data;

		private String placaVei;

                private String horaEntrada;


   public ControleIni(){

   }

    public ControleIni(String data, String placaVei, String horaEntrada) {
        this.data = data;
        this.placaVei = placaVei;
        this.horaEntrada = horaEntrada;
    }

    public String getData() {
        return data;
    }

    public void setData(String data) {
        this.data = data;
    }

    public String getHoraEntrada() {
        return horaEntrada;
    }

    public void setHoraEntrada(String horaEntrada) {
        this.horaEntrada = horaEntrada;
    }

    public String getPlacaVei() {
        return placaVei;
    }

    public void setPlacaVei(String placaVei) {
        this.placaVei = placaVei;
    }

@Override
		public String toString() {
			final String TAB = "<br>";

			String retValue = " ";

			retValue = "Controle Inicial: " + TAB +
                        "==============================" + TAB +
			"Data: " + this.data + TAB +
			"Placa do Veiculo: " + this.placaVei + TAB +
                        "Hora de Entrada:" + this.horaEntrada;

			return retValue;
                }
}

Na pacote model.DAO:

[code]package model.DAO;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import model.ControleIni;
import controller.Conexao;

public class ControleIniDAO {
public static ControleIni inserir(String data,String placaVei,
String horaEntrada) {

	ControleIni controle = null;

	try {
		// Criação do insert
		String sql = "INSERT INTO controle" +
				"(data,placaVei,horaEntrada) "
				+ "VALUES(?,?,?)";

		Conexao conex = new Conexao(
			"jdbc:mysql://localhost:3308/ctrl",
			"com.mysql.jdbc.Driver", "root", "alunolab");
		Connection con = conex.obterConexao();

		PreparedStatement comando =
			con.prepareStatement(sql);

		comando.setString(1,data);
                    comando.setString(2,placaVei);
                    comando.setString(3,horaEntrada);

		comando.executeUpdate();
	} catch (Exception e) {
		System.out.println(e.getMessage());
	}

	controle = new ControleIni(data,placaVei,horaEntrada);

	return controle;
}

    public static ControleIni buscarPorPlacaVei(String placaVei) {
	ControleIni controle = null;
	try {

		String sql = "Select * from controle where " +
				"placaVei  = " + placaVei;
		Conexao conex = new Conexao(
			"jdbc:mysql://localhost:3308/ctrl",
			"com.mysql.jdbc.Driver", "root", "alunolab");
		Connection con = conex.obterConexao();

		Statement comando = con.createStatement();

                    ResultSet rs = comando.executeQuery(sql);

		if (rs.next()) {
			controle = new ControleIni(
                                            rs.getString("data"),
                                            rs.getString("placaVei"),
                                            rs.getString("horaEntrada"));
		}

		rs.close();
		comando.close();
		con.close();
	} catch (Exception e) {
		System.out.println(e.getMessage());
	}

	return controle;

    }

}[/code]

No pacote controller:

[code]
package controller;

import java.io.;
import java.net.
;
import javax.servlet.;
import javax.servlet.http.
;
import model.ControleIni;
import model.DAO.ControleIniDAO;

/**
*

  • @author Professor
    */
    public class EstacServletConIni extends HttpServlet {
    // Constantes que representam as tarefas
    private static final String CADASTRAR = “cadastrar”;
    private static final String GRAVAR = “gravar”;
    private static final String BUSCAR = “buscar”;

    /**

    • Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.

    • @param request servlet request

    • @param response servlet response
      */
      protected void processRequest(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      response.setContentType(“text/html;charset=UTF-8”);

      String tarefa = request.getParameter(“tarefa”);

      // Executa a tarefa apropriada
      if (tarefa.equals(CADASTRAR)) {
      response.sendRedirect(“cadastroConIni.jsp”);
      } else if (tarefa.equals(BUSCAR)) {
      response.sendRedirect(“buscarConIni.jsp”);
      } else if (tarefa.equals(GRAVAR)) {
      validarConIni(request, response);
      } else {
      response.sendRedirect(“menuInicial.jsp”);
      }
      }
      protected void validarConIni(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      // Valida os parametros da requisição
      String resultado = validarParametros(request);

      // Envia resultado
      if (resultado.equals("")) {
      // Cria um objeto do tipo cliente com os parametros de requisição
      ControleIni controle = new ControleIni();
      controle.setData(request.getParameter(“data”));
      controle.setPlacaVei(request.getParameter(“placaVei”));
      controle.setHoraEntrada(request.getParameter(“horaEntrada”));

       String data = request.getParameter("data");
       String placaVei = request.getParameter("placaVei");
       String horaEntrada = request.getParameter("horaEntrada");
      
       controle = ControleIniDAO.inserir(
               data,placaVei,horaEntrada);
      
      
       // Passa o cliente para o método que envia
       gerarVisaoCadastroOk(controle, response);
      

      } else {
      gerarVisaoDadosErrados(resultado, response);
      }

    }

    protected void gerarVisaoDadosErrados(String resultado,
    HttpServletResponse response) throws IOException {
    // Pega da resposta um objeto para envio dos dados ao cliente
    PrintWriter out = response.getWriter();

     // Resposta
     out.println("&lt;h2&gt;Erro no cadastramento:&lt;/h2&gt;<br>");
     out.println(resultado);
    
     // Link para o html de cadastro
     out.println("<br><a >Tela de Cadastro</a><br>");
    

    }

    /**

    • Envia o HTML de sucesso no cadastro
    • @param cliente - objeto cliente
    • @param response - Objeto de resposta

    */
    protected void gerarVisaoCadastroOk(ControleIni controle,
    HttpServletResponse response) throws IOException {
    // Pega da resposta um objeto para envio dos dados ao cliente
    PrintWriter out = response.getWriter();

     // Resposta
     out.println("&lt;h1&gt;Cadastro OK!&lt;/h1&gt;");
     out.println("&lt;h2&gt;Dados:&lt;/h2&gt;");
     out.println(controle);
    

    }

    /**

    • Envia o HTML de sucesso no cadastro
    • @param cliente - objeto cliente
    • @param response - Objeto de resposta

    */
    protected void gerarVisaoTodos(
    HttpServletResponse response) throws IOException {
    // Pega da resposta um objeto para envio dos dados ao cliente
    PrintWriter out = response.getWriter();

     // Resposta
     out.println("&lt;h1&gt;Cadastro OK!&lt;/h1&gt;");
     out.println("&lt;h2&gt;Seus Dados:&lt;/h2&gt;&quot;);
    

    //cliente = ClienteDAO.buscarTodos();

    /* Cliente[] clientes = ClienteDAO.buscarTodos();
    for (int i = 0; i < clientes.length; i++) {
    if (clientes[i] != null) {
    out.println(cliente);
    }
    }*/
    }

    /**

    • Faz a validação dos parâmetros de requisicao

    • @param request

    • @return String contendo a mensagem com o erro ou "" caso contr�rio
      */
      protected String validarParametros(HttpServletRequest request) {
      // Auxiliar para a montagem da mensagem de erro
      String mensagem = "";
      // Campos obrigatórios
      mensagem += validarCampoObrigatorio("placaVei",
      request.getParameter("placaVei"));

      // Validação da placa
      mensagem += validarPlacaVei(request.getParameter("placaVei"));

      return mensagem;
      }

    /**

    • Valida a existência da string
    • @param nomeCampo nome do campo para validação
    • @param campo string para validação
    • @return String contendo a mensagem com o erro ou "" caso contrário
      */
      protected String validarCampoObrigatorio(String nomeCampo, String campo) {
      // Verifica se o parametro existe e se ele não é vazio
      if (campo == null || campo.equals("")) {
      return "Campo obrigatorio: " + nomeCampo + "
      ";
      } else {
      return "";
      }
      }

    /**

    • Valida o tamanho do login

    • @param campo string para validação

    • @return String contendo a mensagem com o erro ou "" caso contrário
      */
      protected String validarPlacaVei(String campo) {
      String mensagem = "";

      // Verifica o tamanho
      if (campo != null && campo.length() < 7) {
      mensagem += “O campo Placa deve ter no mínimo 7 caracteres.
      ”;
      }
      return mensagem;
      }

    // <editor-fold defaultstate=“collapsed” desc=“Métodos HttpServlet. Clique no sinal de + à esquerda para editar o código.”>
    /**

    • Handles the HTTP <code>GET</code> method.
    • @param request servlet request
    • @param response servlet response
      */
      protected void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      processRequest(request, response);
      }

    /**

    • Handles the HTTP <code>POST</code> method.
    • @param request servlet request
    • @param response servlet response
      */
      protected void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      processRequest(request, response);
      }

    /**

    • Returns a short description of the servlet.
      */
      public String getServletInfo() {
      return “Short description”;
      }
      // </editor-fold>
      }[/code]

[code]
/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

package controller;
import java.io.;
import java.net.
;
import javax.servlet.;
import javax.servlet.http.
;
import model.ControleIni;
import model.DAO.ControleIniDAO;

/**
*

  • @author Aluno
    */
    public class BuscarConIniServlet extends HttpServlet {

    /**

    • Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.

    • @param request servlet request

    • @param response servlet response
      */
      protected void processRequest(HttpServletRequest request,
      HttpServletResponse response)
      throws ServletException, IOException {
      response.setContentType(“text/html;charset=UTF-8”);
      PrintWriter out = response.getWriter();

      ControleIni controle = new ControleIni();

      String placaVei = request.getParameter(“placaVei”);

      controle = ControleIniDAO.buscarPorPlacaVei(placaVei);

      gerarVisaoVeiOk(controle, response);
      }

    protected void gerarVisaoVeiOk(ControleIni controle,
    HttpServletResponse response) throws IOException {

     //Pega da resposta um objeto para envio dos dados ao cliente
    
     PrintWriter out = response.getWriter();
    
     // Resposta
     //if (controle == null){
        // out.println("&lt;h1&gt;Placa não Encontrada&lt;/h1&gt;");
         
         //out.println(cliente);
    // }else{
         out.println(controle);
         
     }
    

    // <editor-fold defaultstate=“collapsed” desc=“Métodos HttpServlet. Clique no sinal de + à esquerda para editar o código.”>
    /**

    • Handles the HTTP <code>GET</code> method.
    • @param request servlet request
    • @param response servlet response
      */
      protected void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      processRequest(request, response);
      }

    /**

    • Handles the HTTP <code>POST</code> method.
    • @param request servlet request
    • @param response servlet response
      */
      protected void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      processRequest(request, response);
      }

    /**

    • Returns a short description of the servlet.
      */
      public String getServletInfo() {
      return “Short description”;
      }
      // </editor-fold>
      }[/code]

E também a classe conexão e os jsp fazendo referencia a cada classe

Depure o seu código para descobrir o que está acontecendo!

Tente alterar seu método para isso:

	public static ControleIni buscarPorPlacaVei(String placaVei) {
		ControleIni controle = new ControleIni();
		try {

			String sql = "Select data,placaVei,horaEntrada from controle where " + "placaVei  = "
					+ placaVei;
			Conexao conex = new Conexao("jdbc:mysql://localhost:3308/ctrl",
					"com.mysql.jdbc.Driver", "root", "alunolab");
			Connection con = conex.obterConexao();

			Statement comando = con.createStatement();

			ResultSet rs = comando.executeQuery(sql);

			if (rs.next()) {
				controle.setData(rs.getString("data"));
				controle.setPlacaVei(rs.getString("placaVei"));
				controle.setHoraEntrada(rs.getString("horaEntrada"));
			}

			rs.close();
			comando.close();
			con.close();
		} catch (Exception e) {
			System.out.println(e.getMessage());
		}

		return controle;

	}

Alterei a consulta e a criação do Objeto ControleIni.
Creio que vai funcionar…