Tenho um banco de dados com alguns campos com dados de clientes como nome, telefone, endereço…e eu estava querendo fazer uma consulta pelo código do cliente pra jogar esses dados numa página jsp depois que digitar esse código num formulário html, porém esta dando erro no Servlet na linha 17…
SERVLET
package controller;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import model.*;
public class ConsultaClienteServlet extends HttpServlet {
public void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
boolean result = false;
String codigo_cli = req.getParameter("codigo_cli");
Cliente e = new Cliente();
e.setCodigo_cli(Integer.parseInt(codigo_cli));
try {
DAO dao = new ClienteDAO();
result = dao.consultaCliente(e);
} catch (Exception ex) {
ex.printStackTrace();
}
HttpSession sessao = req.getSession();
sessao.setAttribute("consulta", e);
RequestDispatcher rd =
req.getRequestDispatcher("ConfirmaCadastro.jsp");
rd.forward(req, resp);
}
}
DAO
package model;
import java.sql.*;
public class ClienteDAO {
private ConnectionFactory fabrica;
public ClienteDAO() throws ClassNotFoundException {
fabrica = new ConnectionFactory();
}
public boolean insereCliente( Cliente c) throws SQLException {
Connection con = fabrica.abreConexao();
String sql = "Insert into cliente (nome, fone, cpf, rg, endereco, email, dt_nasc)" +
"values(?, ?, ?, ?, ?, ?, ?)";
PreparedStatement pst = con.prepareStatement(sql);
pst.setString(1, c.getNome());
pst.setString(2, c.getFone());
pst.setString(3, c.getCpf());
pst.setString(4, c.getRg());
pst.setString(5, c.getEndereco());
pst.setString(6, c.getEmail());
pst.setString(7, c.getDt_nasc());
int resp = pst.executeUpdate();
pst.close();
con.close();
return resp == 1 ? true : false;
}
public boolean excluirCliente (Cliente e) throws SQLException {
Connection con = fabrica.abreConexao();
String sql = "Delete from cliente where codigo_cli=?";
PreparedStatement pst = con.prepareStatement(sql);
pst.setInt(1, e.getCodigo_cli());
int resp = pst.executeUpdate();
pst.close();
con.close();
return resp == 1 ? true : false;
}
public Cliente umCliente(String email) throws SQLException {
Cliente c = null;
Connection con = fabrica.abreConexao();
String sql = "Select * from cliente where email = ?";
PreparedStatement pst = con.prepareStatement(sql);
pst.setString(1, email);
ResultSet rs = pst.executeQuery();
if (rs.next()) {
c = new Cliente();
c.setCodigo_cli(rs.getInt("codigo_cli"));
c.setNome(rs.getString("nome"));
c.setFone(rs.getString("fone"));
c.setEmail(rs.getString("email"));
c.setCpf(rs.getString("cpf"));
c.setRg(rs.getString("rg"));
c.setEndereco(rs.getString("endereco"));
c.setDt_nasc(rs.getString("dt_nasc"));
}
rs.close();
pst.close();
con.close();
return c;
}
public Cliente consultaCliente (int codigo_cli) throws SQLException {
Connection con = fabrica.abreConexao();
String sql = "Select * from cliente where codigo_cli=?";
PreparedStatement pst = con.prepareStatement(sql);
pst.setInt(1, codigo_cli);
ResultSet rs = pst.executeQuery();
Cliente e = null;
if (rs.next()){
e = new Cliente();
e.setCodigo_cli(rs.getInt("codigo_cli"));
e.setNome(rs.getString("nome"));
e.setCpf(rs.getString("cpf"));
e.setDt_nasc(rs.getString("dt_nasc"));
e.setEndereco(rs.getString("endereco"));
e.setEmail(rs.getString("email"));
e.setRg(rs.getString("rg"));
e.setFone(rs.getString("fone"));
}
return e;
}
}
Queria a ajuda de vocês pra solucionar esse erro…só falta isso pra eu completar o CRUD…