Struts cadastro com foto java.lang.IllegalArgumentException: Cannot invoke

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;
	}
}