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("<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 + "
";
} 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("<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>
}[/code]
-
E também a classe conexão e os jsp fazendo referencia a cada classe