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:
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;
}
}
No pacote controller:
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("<h2>Erro no cadastramento:</h2><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("<h1>Cadastro OK!</h1>");
out.println("<h2>Dados:</h2>");
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("<h1>Cadastro OK!</h1>");
out.println("<h2>Seus Dados:</h2>");
//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 + "<br>";
} 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.<br>";
}
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>
}
/*
* 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("<h1>Placa não Encontrada</h1>");
//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>
}
E também a classe conexão e os jsp fazendo referencia a cada classe