blz amigos espero que vcs possam me ajudar bom cadastrar esse formulário com foto ta dando esse erro.
xception
javax.servlet.ServletException: BeanUtils.populate
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:495)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:805)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
java.lang.IllegalArgumentException: Cannot invoke br.com.novavida.pojo.Cadastro.setImagem - argument type mismatch
org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:1778)
org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:1759)
org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1648)
org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:1677)
org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1022)
org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:805)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.26 logs.
Meus códigos
minha jsp só botei a parte do problema
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html"
prefix="html"%>
<html>
<head>
</head>
<body>
<html:errors />
<html:form action="/adicionacadastro" focus="cadastro.nome">
<!-- <h1><u>Cadastro de Membros</u></h1>-->
Foto:<html:file property="cadastro.imagem"></html:file>
minha action
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import br.com.novavida.DAO.CadastraoDAO;
import br.com.novavida.Form.CadastroForm;
import br.com.novavida.pojo.Cadastro;
public class AdcionaCadastroAction extends Action{
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
CadastroForm formulario = (CadastroForm) form;
Cadastro cadastro = formulario.getCadastro();
CadastraoDAO dao = new CadastraoDAO();
dao.adiciona(cadastro);
System.out.println("criando cadastro" + cadastro.getNum_cad());
return mapping.findForward("adiciona");
}
}
meu form
package br.com.novavida.Form;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import br.com.novavida.pojo.Cadastro;
public class CadastroForm extends ActionForm {
private static final long serialVersionUID = 1L;
private Cadastro cadastro = new Cadastro();
public Cadastro getCadastro() {
return cadastro;
}
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
if (cadastro.getNome() == null || cadastro.getNome().equals("")) {
errors.add("nome", new ActionMessage("erro.camponome"));
}
if (cadastro.getEndereco() == null || cadastro.getEndereco().equals("")) {
errors.add("endereco", new ActionMessage("erro.campoendereco"));
}
if (cadastro.getBairro() == null || cadastro.getBairro().equals("")) {
errors.add("bairro", new ActionMessage("erro.campobairro"));
}
if (cadastro.getCidade() == null || cadastro.getCidade().equals("")) {
errors.add("cidade", new ActionMessage("erro.campocidade"));
}
if(cadastro.getUf() == null || cadastro.getUf().equals("")){
errors.add("uf", new ActionMessage("erro.campouf"));
}
if(cadastro.getNascimento() == null || cadastro.equals("")){
errors.add("nascimento", new ActionMessage("erro.camponascimento"));
}
if(cadastro.getProfissao() == null || cadastro.getProfissao().equals("")){
errors.add("profissao", new ActionMessage("erro.campoprofissao"));
}
if(cadastro.getEstcivil() == null || cadastro.getEstcivil().equals("")){
errors.add("estcivil", new ActionMessage("erro.campoestadocivil"));
}
if(cadastro.getBatismo() == null || cadastro.getBatismo().equals("")){
errors.add("batismo", new ActionMessage("erro.campobatismo"));
}
if(cadastro.getFuncao() == null || cadastro.getFuncao().equals("")){
errors.add("funcao", new ActionMessage("erro.campofuncao"));
}
if(cadastro.getDataent() == null || cadastro.getDataent().equals("")){
errors.add("dataent", new ActionMessage("erro.campodatadeentrada"));
}
return errors;
}
}
Meu DAO
package br.com.novavida.DAO;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import br.com.novavida.connections.ConnectionsFactory;
import br.com.novavida.pojo.Cadastro;
public class CadastraoDAO {
private Connection connection;
public CadastraoDAO(Connection conn) {
this.connection = conn;
}
public CadastraoDAO() throws SQLException {
this.connection = ConnectionsFactory.getConnection();
}
public void adiciona(Cadastro cadastro) throws SQLException {
PreparedStatement statement = this.connection
.prepareStatement ("INSERT INTO cad_membro (NOME_CAD,END_CAD,BAIRRO_CAD,CIDADE_CAD,UF_CAD,CEP_CAD,TEL_CAD,TELTRAB_CAD,"
+ "NASC_CAD,PROF_CAD,ESTACIV_CAD,DATACAS_CAD,NFILHOS_CAD,NOMECONJ_CAD,MEMBCONJ_CAD,OUTRAIGRE_CAD,BATISNASG_CAD,FUNCAO_CAD,EMAIL_CAD,DATAENT_CAD,"
+ "IMAGEM_CAD, NASCONJ_CAD) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
statement.setString(1, cadastro.getNome());
statement.setString(2, cadastro.getEndereco());
statement.setString(3, cadastro.getBairro());
statement.setString(4, cadastro.getCidade());
statement.setString(5, cadastro.getUf());
statement.setInt(6, cadastro.getCep());
statement.setInt(7, cadastro.getTelefone());
statement.setInt(8, cadastro.getTeltrab());
statement.setDate(9, cadastro.getNascimento());
statement.setString(10, cadastro.getProfissao());
statement.setString(11, cadastro.getEstcivil());
statement.setDate(12, cadastro.getDatacas());
statement.setInt(13, cadastro.getNfilhos());
statement.setString(14, cadastro.getConjuge());
statement.setString(15, cadastro.getMembroigreja());
statement.setString(16, cadastro.getOutraigreja());
statement.setDate(17, cadastro.getBatismo());
statement.setString(18, cadastro.getFuncao());
statement.setString(19, cadastro.getEmail());
statement.setDate(20, cadastro.getDataent());
statement.setBlob(21, cadastro.getImagem());
statement.setDate(22, cadastro.getNasconj());
statement.execute();
statement.close();
}
public void remove(Cadastro cadastro) throws SQLException {
PreparedStatement statement = connection
.prepareStatement("DELETE FOM cad_membro WHERE NUM_CAD=?");
statement.setLong(1, cadastro.getNum_cad());
statement.execute();
statement.close();
}
public List<Cadastro> getLista() throws SQLException {
PreparedStatement statement = this.connection
.prepareStatement("SELECT * FROM cad_membro");
ResultSet rs = statement.executeQuery();
List<Cadastro> cad = new ArrayList<Cadastro>();
while (rs.next()) {
Cadastro cadastro = new Cadastro();
cadastro.setNum_cad(rs.getLong("NUM_CAD"));
cadastro.setBairro(rs.getString("BAIRRO_CAD"));
cadastro.setBatismo(rs.getDate("BATISNASG"));
cadastro.setCep(rs.getInt("CEP_CAD"));
cadastro.setCidade(rs.getString("CIDADE_CAD"));
cadastro.setConjuge(rs.getString("NOME_CONJ"));
cadastro.setDatacas(rs.getDate("DATACAS_CAD"));
cadastro.setDataent(rs.getDate("DATAENT_CAD"));
cadastro.setEmail(rs.getString("EMAIL_CAD"));
cadastro.setEndereco(rs.getString("END_CAD"));
cadastro.setEstcivil(rs.getString("ESTACIV_CAD"));
cadastro.setFuncao(rs.getString("FUNCAO_CAD"));
cadastro.setImagem(rs.getBlob("IMAGEM_CAD"));
cadastro.setMembroigreja(rs.getString("MENBCONJ"));
cadastro.setNascimento(rs.getDate("NASC_CAD"));
cadastro.setNfilhos(rs.getInt("NFILHOS"));
cadastro.setNome(rs.getString("NOME_CAD"));
cadastro.setOutraigreja(rs.getString("OUTRAIGRE"));
cadastro.setProfissao(rs.getString("PROF_CAD"));
cadastro.setTelefone(rs.getInt("TEL_CAD"));
cadastro.setTeltrab(rs.getInt("TELTRAB_CAF"));
cadastro.setUf(rs.getString("UF_CAD"));
cadastro.setNasconj(rs.getDate("NASCONJ_CAD"));
// ADCIONANDO OBJ A LISTA
cad.add(cadastro);
}
rs.close();
statement.close();
return cad;
}
public void altera(Cadastro cadastro) throws SQLException {
PreparedStatement statement = connection
.prepareStatement("UPDATE cad_membro SET NOME_CAD=?,END_CAD=?,BAIRRO_CAD=?,CIDADE_CAD=?,UF_CAD=?,CEP_CAD=?,TEL_CAD=?,TELTRAB_CAD=?,"
+ "NASC_CAD=?,PROF_CAD=?,ESTACIV_CAD=?,DATACAS_CAD=?,NFILHOS_CAD=?,NOMECONJ_CAD=?,MEMBCONJ_CAD=?,OUTRAIGRE_CAD=?,BATISNASG_CAD=?,FUNCAO_CAD=?,EMAIL_CAD=?,DATAENT_CAD=?,"
+ "IMAGEM_CAD=? WHERE NUM_CAD=?");
statement.setString(1, cadastro.getNome());
statement.setString(2, cadastro.getEndereco());
statement.setString(3, cadastro.getBairro());
statement.setString(4, cadastro.getCidade());
statement.setString(5, cadastro.getUf());
statement.setInt(6, cadastro.getCep());
statement.setInt(7, cadastro.getTelefone());
statement.setInt(8, cadastro.getTeltrab());
statement.setDate(9, cadastro.getNascimento());
statement.setString(10, cadastro.getProfissao());
statement.setString(11, cadastro.getEstcivil());
statement.setDate(12, cadastro.getDatacas());
statement.setInt(13, cadastro.getNfilhos());
statement.setString(14, cadastro.getConjuge());
statement.setString(15, cadastro.getMembroigreja());
statement.setString(16, cadastro.getOutraigreja());
statement.setDate(17, cadastro.getBatismo());
statement.setString(18, cadastro.getFuncao());
statement.setString(19, cadastro.getEmail());
statement.setDate(20, cadastro.getDataent());
statement.setBlob(21, cadastro.getImagem());
statement.setLong(22, cadastro.getNum_cad());
statement.setDate(23, cadastro.getNasconj());
statement.execute();
statement.close();
}
public Cadastro procura(Long id) throws SQLException {
Cadastro cadastro = new Cadastro();
PreparedStatement statement = this.connection
.prepareStatement("SELECT * FROM cad_membro");
statement.setLong(1, id);
ResultSet rs = statement.executeQuery();
while (rs.next()) {
cadastro.setNum_cad(rs.getLong("NUM_CAD"));
cadastro.setBairro(rs.getString("BAIRRO_CAD"));
cadastro.setBatismo(rs.getDate("BATISNASG"));
cadastro.setCep(rs.getInt("CEP_CAD"));
cadastro.setCidade(rs.getString("CIDADE_CAD"));
cadastro.setConjuge(rs.getString("NOME_CONJ"));
cadastro.setDatacas(rs.getDate("DATACAS_CAD"));
cadastro.setDataent(rs.getDate("DATAENT_CAD"));
cadastro.setEmail(rs.getString("EMAIL_CAD"));
cadastro.setEndereco(rs.getString("END_CAD"));
cadastro.setEstcivil(rs.getString("ESTACIV_CAD"));
cadastro.setFuncao(rs.getString("FUNCAO_CAD"));
cadastro.setImagem(rs.getBlob("IMAGEM_CAD"));
cadastro.setMembroigreja(rs.getString("MENBCONJ"));
cadastro.setNascimento(rs.getDate("NASC_CAD"));
cadastro.setNfilhos(rs.getInt("NFILHOS"));
cadastro.setNome(rs.getString("NOME_CAD"));
cadastro.setOutraigreja(rs.getString("OUTRAIGRE"));
cadastro.setProfissao(rs.getString("PROF_CAD"));
cadastro.setTelefone(rs.getInt("TEL_CAD"));
cadastro.setTeltrab(rs.getInt("TELTRAB_CAF"));
cadastro.setUf(rs.getString("UF_CAD"));
cadastro.setNasconj(rs.getDate("NASCONJ_CAD"));
}
return cadastro;
}
}