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”/>
<%
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!!!