Erro class AdicionaContatoAction

1 resposta
R

bom galera eu to lendo a apostila da caelum de desenvolvimento pra web e nao consegui passar da parte de struts

na qual eu adiciono um contato ao banco de dados por algum motivo ele lança um NullPointerException

tah ai o codigo galera

meu struts-config.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<struts-config>

<form-beans>
	<form-bean name="ContatoForm" type="br.com.caelum.struts.form.ContatoForm"/>
</form-beans>

<action-mappings>

	<action path="/novoContato" name="ContatoForm" type="br.com.caelum.struts.action.AdicionaContatoAction">
		<forward name="sucess" path="/listaContatos.do"/>
	</action>
	
	<action path="/teste" type="br.com.caelum.struts.action.TesteSimplesAction">
		<forward name="ok" path="/exemplo.jsp"/>
	</action>
	
	<action path="/listaContatos" type="br.com.caelum.struts.action.ListaContatosStruts">
		<forward name="lista" path="/lista.jsp"/>
		<forward name="vazia" path="/lista-vazia.jsp"/>
	</action>

</action-mappings>

<message-resources parameter="MessageResources"/>

</struts-config>

meu AdicionaContatoAction

package br.com.caelum.struts.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.caelum.jdbc.Contato;
import br.com.caelum.jdbc.ContatoDAO;
import br.com.caelum.struts.form.ContatoForm;

public class AdicionaContatoAction extends Action {
	
	@Override
	public ActionForward execute(ActionMapping map, ActionForm form, 
			HttpServletRequest request, HttpServletResponse response) 
			throws Exception {
		System.out.println(request.getParameter("nome"));
		ContatoForm formulario = (ContatoForm)form;
		
		Contato contato = formulario.getContato();
		
		ContatoDAO dao = new ContatoDAO();
		
		dao.addContato(contato);
		
		return map.findForward("sucess");
		
	
	}
}

o ContatoForm

package br.com.caelum.struts.form;

import org.apache.struts.action.*;

import br.com.caelum.jdbc.Contato;

public class ContatoForm extends ActionForm {
	
	private Contato contato = new Contato();
	
	public Contato getContato(){
		
		return this.contato;
	}

}

e por fim o .jsp

<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>

<html:html>
	<head>
		<title> Adicionando um contato </title>
	</head>
	
	<html:errors/>
	
	<html:form action="/novoContato" method="post" focus="contato.nome">
	
	Nome:
	<html:text property="contato.nome"/><br/>
	
	Email:
	<html:text property="contato.email"/><br/>
	
	Endereco:
	<html:text property="contato.endereço"/><br/>
	
	<html:submit>Enviar Dados</html:submit><br/>
	
	</html:form>
	
</html:html>

quem puder me ajudar ficarei muito grato!!

1 Resposta

R

Ah galera pra ficar melhor o relatorio dos erros

HTTP Status 500 -

type Exception report

message

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

exception

javax.servlet.ServletException: javax.servlet.ServletException: java.lang.NullPointerException
	org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:459)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

javax.servlet.ServletException: java.lang.NullPointerException
	org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:459)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.apache.struts.chain.commands.servlet.PerformForward.handleAsForward(PerformForward.java:99)
	org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:82)
	org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:51)
	org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:280)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:459)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.lang.NullPointerException
	br.com.caelum.jdbc.Contato.setNome(Contato.java:12)
	br.com.caelum.jdbc.ContatoDAO.getLista(ContatoDAO.java:37)
	br.com.caelum.struts.action.ListaContatosStruts.execute(ListaContatosStruts.java:16)
	org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:53)
	org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:64)
	org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:280)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:459)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.apache.struts.chain.commands.servlet.PerformForward.handleAsForward(PerformForward.java:99)
	org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:82)
	org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:51)
	org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:280)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:459)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Criado 31 de dezembro de 2008
Ultima resposta 31 de dez. de 2008
Respostas 1
Participantes 1