Olá pessoal, to com um probleminha na minha aplicação J2EE. Vou descreve-lá um pouco…
To trabalhando no padrão MVC e utilizando os componentes básicos que formam o J2EE: Servlets, JSP;
Esse é o erro que aparece após o usuário ter efetuado o login…
java.lang.ClassCastException: java.util.ArrayList cannot be cast to pessoa.PessoaBean
Servlet.ServletVerificaDados.service(ServletVerificaDados.java:61)
Esse código abaixo é da Servlet, que retorna com os dados do usuário após ele ter efetivado o login…
É nesse servlet que aparece o erro após o usuário informar o login, essa é a linha 61…
//verificando atraves do metodo "listaPessoaLogin" os dados recebidos pelo sistema
pessoaBean = (PessoaBean) pessoaFacade.listaPessoaLogin(pessoaBean);
Aqui é minha Classe PessoaBean…
/*
* PessoaBean.java
*
*
* @author Maykon Diego
*/
package pessoa;
/* ------importando as classe necessarias para ser utilizada------ */
//classe FuncaoBean
import Funcao.FuncaoBean;
//classe PessoaBean
public class PessoaBean
{
//declarando atributos da classe PessoaBean
private Integer idPessoa;
private String nomePessoa;
private String loginPessoa;
private String enderecoPessoa;
private String bairroPessoa;
private String cidadePessoa;
private String dataNascPessoa;
private String senhaPessoa;
private String lembsenhaPessoa;
private String emailPessoa;
private Integer telPessoa;
private Integer celPessoa;
private Integer rgPessoa;
private String cpfPessoa;
private String matriPessoa;
private Integer codEstPessoa;
private Integer codTipoEnd;
private FuncaoBean funcaoPes;
/** instancia da classe PessoaBean */
public PessoaBean() {
}
/* ------ M�todos get e set de idPessoa ------ */
public Integer getIdPes() {
return idPessoa;
}
public void setIdPes(Integer id) {
this.idPessoa = id;
}
/* ------ M�todos get e set de nomePessoa ------ */
public String getNomePes() {
return nomePessoa;
}
public void setNomePes(String nome) {
this.nomePessoa = nome;
}
/* ------ M�todos get e set de loginPessoa ------ */
public String getLoginPes() {
return loginPessoa;
}
public void setLoginPes(String login) {
this.loginPessoa = login;
}
/* ------ M�todos get e set de EnderecoPessoa ------ */
public String getEndPes() {
return enderecoPessoa;
}
public void setEndPes(String end) {
this.enderecoPessoa = end;
}
/* ------ M�todos get e set de bairroPessoa ------ */
public String getBairroPes() {
return bairroPessoa;
}
public void setBairroPes(String bair) {
this.bairroPessoa = bair;
}
/* ------ M�todos get e set de cidadePessoa ------ */
public String getCidPes() {
return cidadePessoa;
}
public void setCidPes(String cidade) {
this.cidadePessoa = cidade;
}
/* ------ M�todos get e set de dataNascPessoa ------ */
public String dataNascPes() {
return this.dataNascPessoa;
}
public void setDataNascPes(String data) {
this.dataNascPessoa = data;
}
/* ------ M�todos get e set de senhaPessoa ------ */
public String getSenPes() {
return senhaPessoa;
}
public void setSenPes(String sen) {
this.senhaPessoa = sen;
}
/* ------ M�todos get e set de lembSenhaPessoa ------ */
public String getLembSenPes() {
return lembsenhaPessoa;
}
public void setLembSenPes(String lembSen) {
this.lembsenhaPessoa = lembSen;
}
/* ------ M�todos get e set de emailPessoa ------ */
public String getEmailPes() {
return emailPessoa;
}
public void setEmailPes(String email) {
this.emailPessoa = email;
}
/* ------ M�todos get e set de telPessoa ------ */
public Integer getTelPes() {
return telPessoa;
}
public void setTelPes(Integer tel) {
this.telPessoa = tel;
}
/* ------ M�todos get e set de celPessoa ------ */
public Integer getCelPes() {
return celPessoa;
}
public void setCelPes(Integer cel) {
this.celPessoa = cel;
}
/* ------ M�todos get e set de rgPessoa ------ */
public Integer getRgPes() {
return this.rgPessoa;
}
public void setRgPes(Integer rg) {
this.rgPessoa = rg;
}
/* ------ M�todos get e set de cpfPessoa ------ */
public String getCpfPes() {
return this.cpfPessoa;
}
public void setCpfPes(String cpf) {
this.cpfPessoa = cpf;
}
/* ------ M�todos get e set de matriPessoa ------ */
public String getMatriPes() {
return matriPessoa;
}
public void setMatriPes(String matri) {
this.matriPessoa = matri;
}
/*------- Metodos get e set de codTipoEnd ------ */
public Integer getCodTipoEnd(){
return this.codTipoEnd;
}
public void setCodTipoEnd(Integer cod){
this.codTipoEnd = cod;
}
/* ------ M�todos get e set de codEstPessoa ----- */
public Integer getCodEstPessoa(){
return this.codEstPessoa;
}
public void setCodEstPessoa(Integer cod){
this.codEstPessoa = cod;
}
/* ------ M�todos get e set de funcaoPes ------ */
public FuncaoBean getFuncaoPes(){
return this.funcaoPes;
}
public void setFuncaoPes(FuncaoBean funcao){
this.funcaoPes = funcao;
}
} //fim da classe
Essa aqui é o método da Classe PessoaFacade, que retorna os dados completo do usuário, após a verificação em PessoaDao
//metodo que verifica o login de entrada
public Collection listaPessoaLogin(Object to) throws SistemaException {
//passsando o conteudo do parametro object TO para a instancia pessoaBean
PessoaBean pessoaBean = (PessoaBean) to;
//criando um objeto ArrayList
ArrayList pessoas = new ArrayList();
//criando uma instancia da classes PessoaDao
this.pessoaDao = new PessoaDao();
//bocos try e cach para tratamento de dados
try{
pessoas = (ArrayList) this.pessoaDao.listaPessoaLogin(pessoaBean);
return pessoas;
}
catch(Exception e){
e.printStackTrace();
}
return null;
}
Esse método é da classe PessoaDao, que verifica através da consulta sql se o login do usuário está correto… E passa os dados para o objeto ArrayList pessoas, os dados do usuário e retorna o Objeto pessoas…
//m�todo que verifica o login do usuario
public Collection listaPessoaLogin(Object to) throws DaoException{
this.pessoaBean = (PessoaBean) to;
String sql = "select * from pessoa AS pes INNER JOIN funcao_pessoa AS fu_pes ON (fu_pes.cod_pessoa=pes.cod_pessoa) WHERE login=? and matricula=? and senha=? LIMIT 1";
try {
con = ConexaoBd.getConexao();
stm = con.prepareStatement(sql);
stm.setString(1,this.pessoaBean.getLoginPes());
stm.setString(2,this.pessoaBean.getMatriPes());
stm.setString(3,this.pessoaBean.getSenPes());
this.pessoas = new ArrayList();
ResultSet rs = stm.executeQuery();
if(rs.next()){
PessoaBean pessoaBean = new PessoaBean();
pessoaBean.setIdPes(new Integer(rs.getInt("pes.cod_pessoa")));
pessoaBean.setNomePes(rs.getString("pes.nome"));
pessoaBean.setEndPes(rs.getString("pes.endereco"));
pessoaBean.setBairroPes(rs.getString("pes.bairro"));
pessoaBean.setCidPes(rs.getString("pes.cidade"));
pessoaBean.setDataNascPes(rs.getString("pes.data_nasc"));
pessoaBean.setEmailPes(rs.getString("pes.email"));
pessoaBean.setTelPes(new Integer(rs.getInt("pes.telefone")));
pessoaBean.setCelPes(new Integer(rs.getInt("pes.celular")));
pessoaBean.setRgPes(new Integer(rs.getInt("pes.rg")));
pessoaBean.setCpfPes(rs.getString("pes.cpf"));
this.pessoas.add(pessoaBean);
}
return this.pessoas;
} catch (Exception e) {
e.printStackTrace();
} finally {
ConexaoBd.fechar(stm);
ConexaoBd.fechar(con);
}
return null;
}
Há varios dias to tentando decifrar esse erro, já alterei o código várias vezes e não consigo acertar… Por favor colaborem com o conhecimento de vcs…