Erro: JasperException

Srs.,

Tenho uma aplicação local e estou hospedando ela num servidor internet(hostgold). Trabalho aki na empresa com interbase. Eles me oferecem firebird, ou seja, só mudei o driver de conexão e a string de conexão. Porém ao migrar minha aplicação para o servidor, me aparece o sequinte erro:

org.apache.jasper.JasperException
	at org.apache.jasper.servlet.JspServletWrapper.service(Unknown Source)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(Unknown Source)
	at org.apache.jasper.servlet.JspServlet.service(Unknown Source)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source)
	at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown Source)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
	at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
	at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
	at org.apache.catalina.core.StandardContextValve.invoke(Unknown Source)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
	at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
	at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
	at org.apache.catalina.core.StandardContext.invoke(Unknown Source)
	at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown Source)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
	at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown Source)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
	at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
	at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
	at org.apache.catalina.core.StandardEngineValve.invoke(Unknown Source)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
	at org.apache.catalina.valves.AccessLogValve.invoke(Unknown Source)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
	at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
	at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
	at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
	at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:261)
	at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:360)
	at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:604)
	at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:562)
	at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:679)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
	at java.lang.Thread.run(Thread.java:595)

ROOT CAUSE

java.lang.NullPointerException
	at cl.model.Celula$Home.getBySQL(Celula.java:250)
	at cl.model.Celula$ComunicadoHome.findAll( Celula.java:2467)
	at org.apache.jsp.Comunicados_jsp._jspService(Comunicados_jsp.java:75)
	at org.apache.jasper.runtime.HttpJspBase.service(Unknown Source)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java)
	at org.apache.jasper.servlet.JspServletWrapper.service(Unknown Source)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(Unknown Source)
	at org.apache.jasper.servlet.JspServlet.service(Unknown Source)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source)
	at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown Source)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
	at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
	at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
	at org.apache.catalina.core.StandardContextValve.invoke(Unknown Source)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
	at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
	at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
	at org.apache.catalina.core.StandardContext.invoke(Unknown Source)
	at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown Source)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
	at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown Source)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
	at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
	at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
	at org.apache.catalina.core.StandardEngineValve.invoke(Unknown Source)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
	at org.apache.catalina.valves.AccessLogValve.invoke(Unknown Source)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
	at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
	at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
	at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
	at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:261)
	at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:360)
	at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:604)
	at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:562)
	at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:679)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
	at java.lang.Thread.run(Thread.java:595)


Preciso da ajuda de vcs…Obrigado…

Isto já lhe ajuda um pouco. Para começar você já sabe que tem alguma coisa nesse “Celula.java”, linha 250 que está dando um NullPointerException, e que essa classe foi chamada em /Comunicados.jsp
(a linha certa no JSP original não sei, só examinando o arquivo Comunicados_jsp.java, que foi gerado em algum lugar do web server, para ver qual a linha correspondente. Não é impossível);
Deve ser algum probleminha com conexão de banco de dados mesmo. Você não tem como conferir no seu ISP se não tem alguma sutileza (como permissão de usuário de banco de dados, nome de tabela etc.) que está diferente de seu banco de desenvolvimento Firebird? Se bobear o cara não cadastrou as tabelas direito :wink:

Segue o codigo identificado no erro:

    public class ComunicadoHome  extends Home{
        public Object find(long id) {       
            return findByPK(id);
        }
        
        public  Comunicado findByPK(long id) {
            return findByPK(new ComunicadoKey(id));
        }
        
        public  Comunicado findByPK(ComunicadoKey key) {
            if(key==null ||key.comunicadoId==0) return new Comunicado();
            return (Comunicado) getPm().getObjectById(key);
        }
        
        public  Collection findAll()  {
            
            String sql="SELECT COMUNICADO_ID FROM COMUNICADO";
 LINHA 2467-->   return getBySQL(sql);
        }    

    }   

Creio que o metodo não está fazendo o select na tabela..

E o que este método getBySQL faz?

o método getBySQL retorna um arrayList, segue o código.

 protected ArrayList getBySQL(String sql) {
            PersistenceManagerFactory pmf=getPm().getPersistenceManagerFactory();
            ConnectionFactory connFac    = (ConnectionFactory) pmf.getConnectionFactory();
            ArrayList result = new ArrayList();
            try {
                Connection con = connFac.getConnection();
                boolean statusCommit = con.getAutoCommit();
                con.setAutoCommit(false);
                Statement st = con.createStatement();
                ResultSet rs = st.executeQuery(sql);
                while(rs.next()) result.add(find(rs.getLong(1)));
                st.close();
                con.setAutoCommit(statusCommit);
                con.close();
                
            } catch (Exception e) {System.out.println(e);}
            
            return result;
        }

Faz um system.out.println depois do executeQuery, vê o que ele tá executando.
Ou debuga este método, vê se está completando todos os passos.