I am coding a simple register, where it needs to also record in the database a photo, which should be from the tibo BLOB.
This is my Person Class:
public class Pessoa {
private Integer idPessoa;
private String nome;
private Date dataNascimento;
private String cpf;
private byte[] foto;
This is my inclusion DAO:
public class PessoaDAO {
public void addPessoa(Pessoa pessoa) {
Conecta c = new Conecta();
try {
if ("sucesso".equals(c.getMsg())) {
String sql = "INSERT INTO pessoa (nome, dataNascimento, cpf,foto) VALUES (?,?,?,?)";
PreparedStatement pstm;
pstm = c.getConexao().prepareStatement(sql);
pstm.setString(1, pessoa.getNome());
pstm.setDate(2, pessoa.getDataNascimento());
pstm.setString(3, pessoa.getCpf());
pstm.setBytes(4, pessoa.getFoto());
pstm.execute();
}
} catch (SQLException ex) {
Logger.getLogger(UsuarioDAO.class.getName()).log(Level.SEVERE, null, ex);
}
}
And this is my inclusion Servlet, where it is presenting error when I give a getParameter in the photo, where it says I should change to String, does anyone know how to adjust in the servlet?
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
PessoaDAO pessoadao = new PessoaDAO();
String nome = request.getParameter("nome");
String dataNasc = request.getParameter("dataNascimento");
SimpleDateFormat formato = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date dataUtil = formato.parse(dataNasc);
java.sql.Date dataSql = new java.sql.Date(dataUtil.getTime());
String cpf = request.getParameter("cpf");
// Diz que devo mudar de byte para String
byte[] foto = request.getParameter("foto");
int idUsuario = Integer.parseInt(request.getParameter("idUsuario"));
Pessoa pessoa = new Pessoa(nome,dataSql,cpf,foto);
pessoadao.addPessoa(pessoa);
Usuario usuario = new Usuario();
RequestDispatcher rd;
UsuarioDAO udao=new UsuarioDAO();
for(Usuario u : udao.getLista()){
if(u.getIdUsuario()==idUsuario){
usuario=u;
break;
}
}
request.setAttribute("usuario", usuario);
rd = getServletContext().getRequestDispatcher("/cadpessoa.jsp");
rd.forward(request, response);
} catch (ParseException ex) {
Logger.getLogger(ServletIncluiPessoa.class.getName()).log(Level.SEVERE, null, ex);
}
}