SOS Struts

Estou fazendo um projeto pra faculdade e preciso da força de vcs…

Utilizo o padrão MVC e o Struts atuando na camada de controle.

TENHO UMA CLASSE CLIENTE COMO MODELO:

[code]package cadastros;

imports

public class Cliente extends Modelo {
//atributos do cliente
private String nome;
private String cidade;
private String estado;
private String cpf;
private String telefone;
private String email;
//variavel para conexao ao banco
private Connection conn;

public Cliente() throws SQLException {		
	this.conn = ConnectionFactory.getConnection();
}

public void adiciona() throws SQLException {
	PreparedStatement stmt = (PreparedStatement) this.conn.prepareStatement("insert into cliente (nome, cidade, estado, cpf, telefone, email) values (?, ?, ?, ?, ?, ?)");
	
	stmt.setString(1, this.nome);
	stmt.setString(2, this.cidade);
	stmt.setString(3, this.estado);
	stmt.setString(4, this.cpf);
	stmt.setString(5, this.telefone);
	stmt.setString(6, this.email);
	
	stmt.execute();
	stmt.close();
}

public void altera(Modelo modelo) throws SQLException {
	PreparedStatement stmt = (PreparedStatement) this.conn.prepareStatement("update clientes set nome=?, cidade=?, estado=?, cpf=?, telefone=?, email=? where codigo=?");
	
	stmt.setString(1, this.nome);
	stmt.setString(2, this.cidade);
	stmt.setString(3, this.estado);
	stmt.setString(4, this.cpf);
	stmt.setString(5, this.telefone);
	stmt.setString(6, this.email);
	stmt.setLong(7, modelo.getCodigo());
	
	stmt.execute();
	stmt.close();
}

public void remove(Modelo modelo) throws SQLException {
	PreparedStatement stmt = (PreparedStatement) this.conn.prepareStatement("delete from clientes where codigo=?");
	
	stmt.setLong(1, modelo.getCodigo());
	
	stmt.execute();
	stmt.close();
}
...
getters and setters
...

}[/code]

TENHO A CLASSE FORM:

[code]
package struts.form;

import java.sql.SQLException;

import org.apache.struts.action.;
import cadastros.
;

public class ClienteForm extends ActionForm {

//O erro ta dando na linha abaixo
    private Cliente cliente = new Cliente();

public Cliente getCliente() {
	return cliente;
}

}[/code]

E TENHO A CLASSE ACTION:

[code]package struts.action;

import javax.servlet.http.*;

import org.apache.struts.action.*;

import cadastros.*;

import struts.form.ClienteForm;

public class AddCliente extends Action {
public ActionForward execute(ActionMapping map, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
System.out.println(“Tentando cadastrar novo cliente…”);
ClienteForm formulario = ((ClienteForm) form);

	Cliente cliente = formulario.instancia();
	
	Cadastro cad = new Cadastro();
	cad.inclui(cliente);
	
	return map.findForward("add-cli-ok");
}

}[/code]

O SEGUINTE ERRO ESTÁ DANDO:

[quote]type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Exception creating bean of class struts.form.ClienteForm: {1}
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause

javax.servlet.ServletException: Exception creating bean of class struts.form.ClienteForm: {1}
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:843)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:776)
org.apache.jsp.novoCli_jsp._jspService(novoCli_jsp.java:73)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause

javax.servlet.jsp.JspException: Exception creating bean of class struts.form.ClienteForm: {1}
org.apache.struts.taglib.html.FormTag.initFormBean(FormTag.java:465)
org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:432)
org.apache.jsp.novoCli_jsp._jspx_meth_html_form_0(novoCli_jsp.java:142)
org.apache.jsp.novoCli_jsp._jspx_meth_html_html_0(novoCli_jsp.java:98)
org.apache.jsp.novoCli_jsp._jspService(novoCli_jsp.java:66)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.20 logs.
[/quote]

POR FAVOR, ME AJUDEM… PRECISO ENTREGAR ESTE PROJETO!!!

Bom dia,

Olha, sinceramente eu nunca havia visto esse tipo de implementação de um form. Normalmente, no form vc mapeia todos os campos da tela com atributos que posteriormente serão usados para popular seu model.

Talvez o motivo desta exceção seja a conexão com o banco que está sendo inicializada no contrutor do cliente.

Tente a nivel de teste comentar o código de dentro do contrutor do cliente.java e execute novamente.

[]'s