Erro http status 500

5 respostas
Sumare

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???

5 Respostas

Sumare

Algo que esqueci de mencionar.
Utilizo JBOSS 4.

S
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)

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

Sumare

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.

S

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

Sumare

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

}


Criado 11 de outubro de 2013
Ultima resposta 11 de out. de 2013
Respostas 5
Participantes 2