NullPointerException com Struts

Galera, jah tentei de tudo mas naum consigo resolver essa exception…
tenho o mesmo projeto apontado para o mesmo banco de dados, um rodando em produção e outro localhost com o mesmo codigo…!
em localhost ele roda direitinho mas em produção ele me da o seguinte erro:

03/11/2011 10:05:13 org.apache.struts.chain.commands.ExceptionCatcher postprocess
WARNING: Exception from exceptionCommand 'servlet-exception'
java.lang.NullPointerException
        at br.com.vidaeconsciencia.clubelacoseternos.action.UsuariosClubeAction.perfil(UsuariosClubeAction.java:260)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269)
        at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
        at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
        at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
        at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
        at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
        at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
        at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
        at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
        at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at br.com.vidaeconsciencia.clubelacoseternos.filter.HibernateFilter.doFilter(HibernateFilter.java:39)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
        at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
        at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
        at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
        at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
        at java.lang.Thread.run(Thread.java:619)
public ActionForward perfil(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

		HttpSession session = request.getSession();
		UsuariosClube usuario = (UsuariosClube) session.getAttribute("userSession");
		ParticipantesForm userForm = (ParticipantesForm) form; 

		SimpleDateFormat spf = new SimpleDateFormat("dd/MM/yyyy");
		String data = spf.format(usuario.getDataNascimento()); // aki eh a linha que ele me da erro  e não a de cima como havia dito...
		String dia = data.substring(0, 2);
		String mes = data.substring(3, 5);
		String ano = data.substring(6, 10);
		userForm.setUser(usuario);
		userForm.setDia(dia);
		userForm.setMes(mes);
		userForm.setAno(ano);


		userForm.setUser(usuario);
		form = (ActionForm) userForm;


		return mapping.findForward("cadastro");
	}

Alguma alma bondosa poderia me dar um help?

vlw

Ele não está encontrando o objeto UsuariosClube na sessão.

Confira onde ele colocar esse Objeto na memória. Pode estar lá seu erro.

Comentei toda esta linha onde faz esse tratamento de data e subi para o produção, ele parou de me gerar o erro, e a pagina esta vindo com os campos nulos…
antes de enviar a mensagem já estava imaginando o problema de sessão mesmo…

mas como posso achar esse problema?

pois eu tentei setar ele no escopo da requisição

req.setAttibute("", ); //só não sei bem o certo quais parametros passar aki....

Procure onde ele coloca o objeto na sessão.

session.setAttribute(“userSession”,userSession);

inseri dentro do metodo

req.setAttribute("userSession", usuario);
return mapping.findForward("cadastro");

mesmo assim não rolou…

Mano, eu estou te perguntando onde já era feito isso.

Você falou que funcionava né? Ou seja, isso era feito em algum lugar. Onde era feito? Qual código que tem?

Esta mesma action que te postei aki no forum é o mesmo codigo que roda em produção, via localhost funciona correto e no produção naum rola…está exatamente igual…

Mas você achou onde ele coloca o usuário na sessão? Não estou falando do código que você escreveu.

Novamente, para funcionar, em algum outro lugar do sistema ele coloca o objeto na sessão. Onde é? Veja na parte do login, ou coisa parecida.

jackefrog, desculpa pela burruce é que sou mto novato ai acabo me perdendo todo saca, e valew pela paciencia…

cara meu login esta da seguinte forma…

public ActionForward login(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {

		ParticipantesForm userForm = (ParticipantesForm) form;

		UsuariosClube usuario = DAOFactory.getUsuariosClubeDao().existUser(userForm.getUser().getEmail(), userForm.getUser().getSenha());

		if(usuario != null){
			HttpSession session = request.getSession();
			session.setAttribute("userSession", usuario);
			ComentariosClube comentario = DAOFactory.getComentariosClubeDao().getByUser(usuario.getCpf());
			if(comentario != null){
				session.setAttribute("comentario", comentario);
			}
		}else{
			request.setAttribute("img_error", "E-mail ou senha inválido.");
			return mapping.findForward(request.getParameter("redirect")+"_ERROR");
		}
		return mapping.findForward(request.getParameter("redirect"));
	}

Cara, verifica então o tempo de sessão configurado em produção. Pode ser que a sessão do usuário ta expirando e matando o objeto da memória.

Ou então, em produção tem algum código sendo acessado que que deveria passar pelo login, não está passando, com isso a pessoa tem acesso direto à pagina que
necessita do usuário na sessão.

Ou então, pode ser que tenha algum código que está matando o usuário da sessão. =/

ok vou verificar por partes, ja posto algo…

vlw

Vamos lah,

  • Referente a sua primeira possibilidade, o teoricamente não esta expirando a sessão pois meu CPO3 está configurado assim:
                <property name="hibernate.connection.provider_class"> org.hibernate.connection.C3P0ConnectionProvider</property>
		<property name="hibernate.c3p0.min_size">20</property>
		<property name="hibernate.c3p0.max_size">75</property>
		<property name="hibernate.c3p0.timeout">180</property>
		<property name="hibernate.c3p0.idle_test_period">100</property>
  • Referente a sua 3º possibilidade acredito que tbm não seja pois ao me logar ele me apresenta a mensagem “Olá” ‘NomeUsuarioLogado’, e ao clicar em perfil que ele me apresenta em branco os campos. aqui que esta complicando… =\

COP3 também configura sessão de Web?

Acho que falei besteira neh? rsrsrsrs…