Problemas com execução de classe java em jsp

0 respostas
C

Olá,
Estou com um problema muito sério, tenho q apresentar meu projeto no próximo sábado e não consigo importar uma classe Java no jsp.
Tenho uma classe java q retorna um array de strings e preciso preencher uma tabela html com os dados do array.
Dá erro 500 quando executo a pag jsp.
Retirei algumas partes do codigo da classe para tentar achar o erro e percebi q quando retiro métodos que usam a classe EntityManagerFactory funciona.

Por favor olhem o código:
---------------------Pag jsp:
<jsp:useBean id=“rel” class=“br.com.sasc.grafo.Relatorio” scope=“application”/>

JSP Page
<%
 String [][] a = rel.gerarRelatorio(1,1);

    %>
</body>

----------------------------------Classe java
package br.com.sasc.grafo;

import br.com.sasc.controller.EntrevistadoDLO;

import br.com.sasc.controller.PerguntaDLO;

import br.com.sasc.controller.RespostaDLO;

import java.util.ArrayList;

import java.util.List;

public class Relatorio {

public static void main(String args[]) {

    gerarRelatorio(1, 1);
}

public static String[][] gerarRelatorio(long codAplic, long codGrupo) {
    //esse metodo deve estar em aplicacaodlo

    List perguntas = ClasseRelatorio.listarPerguntasAplicacao(codAplic);
    List pessoas = EntrevistadoDLO.listarEntrevistadosGrupo(codGrupo);
    String[][] arrayPerg = new String[perguntas.size()][4];
    String[][] arrayPess = new String[pessoas.size()][3 + (2 * perguntas.size())];
    long[][] votosPess = new long[pessoas.size()][2 * perguntas.size()];

    ArrayList MaisVotados = null, MenosVotados = null;
    MaisVotados = new ArrayList();
    MenosVotados = new ArrayList();

… segue processamento…
return arrayPess;

}}

--------------------------------Classe Relatorio
package br.com.sasc.grafo;

import br.com.sasc.model.Resposta;
import br.com.sasc.model.Aplicacao;

import java.util.ArrayList;

import java.util.List;

import javax.persistence.EntityManager;

import javax.persistence.EntityManagerFactory;

import javax.persistence.Query;

public class ClasseRelatorio {

public ClasseRelatorio() {
}

public static List listarRespostaQuestionario(long codperg, long codaplic) {
    EntityManagerFactory emf = javax.persistence.Persistence.createEntityManagerFactory("SascPU");
    EntityManager em = emf.createEntityManager();

    try {
        Query q = em.createNativeQuery("SELECT  E.ID, E.NOME, ORDEMESCOLHA, NUMESCOLHA FROM resposta R, aplicacao A, grupo G, questionario Q, entrevistado E, entrevistadogrupo EG where A.GRUPO_ID=G.ID AND R.ENTREVISTADOGRUPO_ID=EG.ID AND A.QUESTIONARIO_ID=Q.ID AND EG.ENTREVISTADO_ID=E.ID AND A.ID=" + codaplic + " AND R.APLICACAO_ID=A.ID AND R.PERGUNTA_ID=" + codperg);
        List a = q.getResultList();
        return a;

    } catch (Exception e) {
        e.printStackTrace();
        return null;
    } finally {
        em.close();
    }
}

public static List listarPerguntasAplicacao(long codAplic) {
    EntityManagerFactory emf = javax.persistence.Persistence.createEntityManagerFactory("SascPU");
    EntityManager em = emf.createEntityManager();

    try {
        Query q = em.createNativeQuery("select p.ID, p.NOME, p.TIPO, c.NOME from pergunta p, questionario_pergunta qp, aplicacao a, categoria c where qp.perguntas_ID=p.id and qp.questionarios_ID=a.QUESTIONARIO_ID and a.ID="+codAplic+ " and p.CATEGORIA_ID=c.ID");
        List a = q.getResultList();
        return a;

    } catch (Exception e) {
        e.printStackTrace();
        return null;
    } finally {
        em.close();
    }
}


 public static List listarQuantResposta(long codperg, long codaplic) {
    EntityManagerFactory emf = javax.persistence.Persistence.createEntityManagerFactory("SascPU");
    EntityManager em = emf.createEntityManager();

    try {
        Query q = em.createNativeQuery("SELECT  E.ID, E.NOME, ORDEMESCOLHA, NUMESCOLHA FROM resposta R, aplicacao A, grupo G, questionario Q, entrevistado E, entrevistadogrupo EG where A.GRUPO_ID=G.ID AND R.ENTREVISTADOGRUPO_ID=EG.ID AND A.QUESTIONARIO_ID=Q.ID AND EG.ENTREVISTADO_ID=E.ID AND A.ID=" + codaplic + " AND R.APLICACAO_ID=A.ID AND R.PERGUNTA_ID=" + codperg);
        List a = q.getResultList();
        return a;

    } catch (Exception e) {
        e.printStackTrace();
        return null;
    } finally {
        em.close();
    }
}
public static List listarEntrevistadosVotados(long codAplicacao, long codPerg) {

EntityManagerFactory emf = javax.persistence.Persistence.createEntityManagerFactory(“SascPU”);

EntityManager em = emf.createEntityManager();
try {

        //respostas = em.createQuery("select e from resposta e").getResultList();
        Query q = em.createNativeQuery("SELECT  E.ID,E.NOME, E.SEXO, count(NUMESCOLHA) FROM sasc.grupo G, sasc.entrevistado E, sasc.entrevistadogrupo EG, sasc.RESPOSTA ,sasc.APLICACAO a where EG.ENTREVISTADO_ID=E.ID and EG.GRUPO_ID=G.ID and satus=1 AND a.ID="+codAplicacao+" and a.GRUPO_ID=g.ID and resposta.PERGUNTA_ID=" + codPerg+" and NUMESCOLHA = E.ID and resposta.APLICACAO_ID=a.ID GROUP BY NUMESCOLHA ORDER BY count(NUMESCOLHA) DESC;");

        List a = q.getResultList();


        return a;

    } catch (Exception e) {
        e.printStackTrace();
        return null;
    } finally {
        em.close();
    }
}
 public static List listarEntrevistadosNaoVotados(long codGrupo, long codAplicacao, long codPerg) {
    EntityManagerFactory emf = javax.persistence.Persistence.createEntityManagerFactory("SascPU");
    EntityManager em = emf.createEntityManager();

    try {
        Query q = em.createNativeQuery("SELECT  E.ID, E.NOME, E.SEXO FROM sasc.grupo G, sasc.entrevistado E, sasc.entrevistadogrupo EG where EG.ENTREVISTADO_ID=E.ID and EG.GRUPO_ID=G.ID and G.ID=" + codGrupo+" and satus=1 and E.ID not in (SELECT  E.ID FROM sasc.grupo G, sasc.entrevistado E, sasc.entrevistadogrupo EG, sasc.resposta r, sasc.aplicacao a where EG.ENTREVISTADO_ID=E.ID and EG.GRUPO_ID=G.ID and satus=1 AND a.ID="+ codAplicacao+" and a.ID=r.APLICACAO_ID and r.PERGUNTA_ID="+codPerg+" and NUMESCOLHA = E.ID)");
        List a = q.getResultList();
        return a;

    } catch (Exception e) {
        e.printStackTrace();
        return null;
    } finally {
        em.close();
    }
}

}

Por favor me ajudem! Estou desesperada!!!

Criado 31 de outubro de 2008
Respostas 0
Participantes 1