Erro http status 500

Sou novo na linguagem.

Tenho um aplicativo que roda com o banco postgrasql 8.3 e fiz a inclusão de um usuario via aplicativo gravou normalmente só que fui para outra area (inclusão do Ano Gestor por exemplo) gera um erro.

HTTP Status 500 -

type Exception report

message

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

exception

java.lang.NullPointerException
java.util.Calendar.setTime(Calendar.java:1076)
br.com.linkcom.sgm.controller.crud.PlanoGestaoCrud.validateBean(PlanoGestaoCrud.java:53)
br.com.linkcom.sgm.controller.crud.PlanoGestaoCrud.validateBean(PlanoGestaoCrud.java:1)
br.com.linkcom.neo.controller.crud.CrudController.validate(CrudController.java:87)
br.com.linkcom.neo.controller.MultiActionController.validate(MultiActionController.java:780)
br.com.linkcom.neo.controller.MultiActionController.bind(MultiActionController.java:751)
br.com.linkcom.neo.controller.MultiActionController.invokeNamedMethod(MultiActionController.java:483)
br.com.linkcom.neo.controller.MultiActionController.handleRequestInternal(MultiActionController.java:373)
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:139)
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:717)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:658)
br.com.linkcom.neo.controller.DispatcherServlet.doService(DispatcherServlet.java:55)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:392)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:357)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
br.com.linkcom.neo.authorization.AuthenticationControlFilter.doFilter(AuthenticationControlFilter.java:108)
br.com.linkcom.neo.core.web.NeoFilter.doFilterInternal(NeoFilter.java:103)
br.com.linkcom.sgm.util.RequestFilter.doFilterInternal(RequestFilter.java:45)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.20 logs.

Apache Tomcat/5.5.20

Alguem pode me ajudar???

Algo que esqueci de mencionar.
Utilizo JBOSS 4.

[code]exception

java.lang.NullPointerException
java.util.Calendar.setTime(Calendar.java:1076)
br.com.linkcom.sgm.controller.crud.PlanoGestaoCrud.validateBean(PlanoGestaoCrud.java:53)
br.com.linkcom.sgm.controller.crud.PlanoGestaoCrud.validateBean(PlanoGestaoCrud.java:1)
br.com.linkcom.neo.controller.crud.CrudController.validate(CrudController.java:87)
[/code]

o problema está nessas linhas…
Nesse tal de PlanoGestaoCrud,você está tentando pegar algum parametro,porém ele está vindo nulo

Como mencionei no inicio… Estou aventurando nessa limguagem.
Para identificar a tela do erro o numero no final indica a linha?
Qual class que é?

Desde já agradeço pela atenção e paciência.

Sim

No caso o PlanoGestaoCrud.java


Primeiro você teria que entender oque é a Exception java.lang.NullPointerException

http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/NullPointerException.html

Depois você tem que procurar qual variavel está disparando ela e procurar um modo de levar o dado que é obtido em um input ou sei lá aonde e levar até ela.
Ela está disparando NullPointerException porque , como já disse antes o valor que ela deveria receber,ela não está recebendo

Cara,faz o seguinte,mostra ai a classe PlanoGestaoCrud e mostra o formulario que você está preenchendo

A Classe abaixo:

package br.com.linkcom.sgm.controller.crud;

import br.com.linkcom.neo.controller.MessageType;
import br.com.linkcom.neo.controller.crud.CrudController;
import br.com.linkcom.neo.core.web.WebRequestContext;
import br.com.linkcom.sgm.beans.PlanoGestao;
import br.com.linkcom.sgm.service.PlanoGestaoService;
import java.sql.Date;
import java.util.*;
import org.springframework.validation.BindException;

public class PlanoGestaoCrud extends CrudController
{

private PlanoGestaoService planoGestaoService;

public PlanoGestaoCrud()
{
}

public void setPlanoGestaoService(PlanoGestaoService planoGestaoService)
{
    this.planoGestaoService = planoGestaoService;
}

protected void validateBean(PlanoGestao bean, BindException errors)
{
    Integer anoExercicio = bean.getAnoExercicio();
    Calendar anoLimiteMetasIndicadas = new GregorianCalendar();
    anoLimiteMetasIndicadas.setTime(bean.getLimiteCriacaoMetasIndicadores());
    List listaPlanoGestao = planoGestaoService.findAll();
    for(Iterator iterator = listaPlanoGestao.iterator(); iterator.hasNext();)
    {
        PlanoGestao planoGestao = (PlanoGestao)iterator.next();
        if(planoGestao.getAnoExercicio().equals(anoExercicio))
        {
            if(bean.getCopia() != null && bean.getCopia().booleanValue())
            {
                errors.rejectValue("anoExercicio", "", "Cadastro n\343o realizado. J\341 existe ano da gest\343o com este ano de exerc\355" +

“cio.”
);
} else
if(!planoGestao.getId().equals(bean.getId()))
{
errors.rejectValue(“anoExercicio”, “”, “Cadastro n\343o realizado. J\341 existe ano da gest\343o com este ano de exerc\355” +
“cio.”
);
}
}
}

    if(bean.getDtLimLancRes1T().getTime() > bean.getDtTravLancRes1T().getTime())
    {
        errors.rejectValue("dtLimLancRes1T", "", "\351 posterior \340 respectiva data para travamento do lan\347amento");
    }
    if(bean.getDtLimLancRes2T().getTime() > bean.getDtTravLancRes2T().getTime())
    {
        errors.rejectValue("dtLimLancRes2T", "", "\351 posterior \340 respectiva data para travamento do lan\347amento");
    }
    if(bean.getDtLimLancRes3T().getTime() > bean.getDtTravLancRes3T().getTime())
    {
        errors.rejectValue("dtLimLancRes3T", "", "\351 posterior \340 respectiva data para travamento do lan\347amento");
    }
    if(bean.getDtLimLancRes4T().getTime() > bean.getDtTravLancRes4T().getTime())
    {
        errors.rejectValue("dtLimLancRes4T", "", "\351 posterior \340 respectiva data para travamento do lan\347amento");
    }
}

protected void entrada(WebRequestContext request, PlanoGestao form)
    throws Exception
{
    if("true".equals(request.getParameter("copiar")))
    {
        form.setCopia(Boolean.valueOf(true));
    }
    super.entrada(request, form);
}

protected void salvar(WebRequestContext request, PlanoGestao bean)
    throws Exception
{
    if(bean.getCopia() != null && bean.getCopia().booleanValue())
    {
        copiaPlanoGestao(request, bean);
        request.addMessage("Ano da Gest\343o, unidades gerenciais, iniciativas e indicadore\ts copiados com " +

“sucesso”
, MessageType.INFO);
} else
{
super.salvar(request, bean);
request.addMessage(“Ano da Gest\343o salvo com sucesso”, MessageType.INFO);
}
}

private void copiaPlanoGestao(WebRequestContext request, PlanoGestao planoGestaoNovo)
    throws Exception
{
    PlanoGestao planoGestaoAntigo = new PlanoGestao();
    planoGestaoAntigo.setId(planoGestaoNovo.getId());
    planoGestaoNovo.setId(null);
    planoGestaoService.copiaPlanoGestao(planoGestaoAntigo, planoGestaoNovo);
}

protected volatile void validateBean(Object obj, BindException bindexception)
{
    validateBean((PlanoGestao)obj, bindexception);
}

protected volatile void entrada(WebRequestContext webrequestcontext, Object obj)
    throws Exception
{
    entrada(webrequestcontext, (PlanoGestao)obj);
}

protected volatile void salvar(WebRequestContext webrequestcontext, Object obj)
    throws Exception
{
    salvar(webrequestcontext, (PlanoGestao)obj);
}

}