Olá,
Estou executando uma query no banco e tenho que criar a quantidade de ArrayList’s equivalente a quantas linhas minha consulta retorna. Ex: se a consulta retornar 5 linha crio 5 ArrayList’s.
Tentei fazer assim. No meu listener de contexto coloquei:
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://HOST/BANCO?user=USUARIO&password=SENHA");
Statement stm = conn.createStatement();
ResultSet rs = stm.executeQuery("select f.funcao, ft.ft from tbl_funcao f inner join tbl_ft ft order by ft.ft, f.funcao;");
int i = 0;
ArrayList<ArrayList> ListaDeListas = new ArrayList<ArrayList>();
while(rs.next()){
ListaDeListas.add(new ArrayList<String>());
context.setAttribute("logados" + rs.getNString(1) + rs.getNString(2), ListaDeListas.get(i));
i++;
}
i = 0;
ArrayList<Queue> ListaDeFilas = new ArrayList<Queue>();
while(rs.next()){
ListaDeFilas.add(new LinkedList<String>());
context.setAttribute("naFila" + rs.getNString(1) + rs.getNString(2), ListaDeFilas.get(i));
i++;
}
i = 0;
ArrayList<ArrayList> ListaDeListas2 = new ArrayList<ArrayList>();
while(rs.next()){
ListaDeListas2.add(new ArrayList());
context.setAttribute("dePausa" + rs.getNString(1) + rs.getNString(2), ListaDeListas2.get(i));
i++;
}
conn.close();
Quando tento acessar no browser o jsp que usa esses ArrayList’s, meu Filtro intercepta e gera esse de NullPointerException:
root cause
java.lang.NullPointerException
org.apache.jsp.sistema.index_jsp._jspService(index_jsp.java:161)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
FiltroSeguranca.doFilter(FiltroSeguranca.java:29)
Não sei se estou criando esses ArrayList’s da forma correta. O nome deles não importa pq jogo eles em um atributo de contexto com o nome de “logados” concatenado com a função da pessoa concatenado com o departamento dela :
context.setAttribute("logados" + rs.getNString(1) + rs.getNString(2), ListaDeListas.get(i));
e depois recupero cada ArrayList por esse atributo:
ArrayList<String> analistasLogados = (ArrayList<String>) getServletContext().getAttribute(logadosTelefonistaHospedagem);
Alguma idéia de qual é o problema?
Grato
Oq tem nessa linha? index_jsp.java:161
OBS.: Vc deu nome dos seus pacotes de “org.apache”? :shock:
Você apontou o seu projeto para o servidor? Senão: Clique com o direito no seu projeto => Properties => Targeted Runtimes => E marque o servidor que está utilizando.
Nota: tem que ser muito ‘corajoso’ para deixar essa informação:
(dados de conexão do banco)
Num fórum público.
[quote=asaudate]Nota: tem que ser muito ‘corajoso’ para deixar essa informação:
jdbc:mysql://189.126.99.100/pausa_trafego?user=pausa_trafego&password=fancong@123
Num fórum público.
[/quote]
Maauhauhuhahuahahuauhauha boa. [= :twisted:
Eu não tenho esse arquivo index_jsp.java no meu projeto, deve ser algum arquivo gerado pelo eclipse ou pelo Tomcat que o eclipse está usando. Esse arquivo deve ser um Servlet gerado no diretório work do Tomcat que representa minha index.jsp, porém não consegui achar esse servlet(pelo que sei todo jsp vira servlet no final).
Deixei os .java no pacote padrão apesar de não ser uma boa prática. Depois posso ajeitar isso, mas tenho pressa com esse sistema.
Meu projeto está rodando no servidor Tomcat 7 certinho já.
Na pressa de postar nem vi que tinha postado informações do banco…huahauhu, mas só é acessível de dentro da nossa rede e além disso não terá nenhuma informação de importância.
Nesse código tem algo que possa gerar um objeto nulo para dar NullPointerException ?
vlw
[quote=bruno_r_santana]Eu não tenho esse arquivo index_jsp.java no m
eu projeto, deve ser algum arquivo gerado pelo eclipse ou pelo Tomcat que o eclipse está usando. Esse arquivo deve ser um Servlet gerado no diretório work do Tomcat que representa minha index.jsp, porém não consegui achar esse servlet(pelo que sei todo jsp vira servlet no final).
Deixei os .java no pacote padrão apesar de não ser uma boa prática. Depois posso ajeitar isso, mas tenho pressa com esse sistema.
Meu projeto está rodando no servidor Tomcat 7 certinho já.
Na pressa de postar nem vi que tinha postado informações do banco…huahauhu, mas só é acessível de dentro da nossa rede e além disso não terá nenhuma informação de importância.
Nesse código tem algo que possa gerar um objeto nulo para dar NullPointerException ?
vlw[/quote]
OK… vou ser legal com vc e editar lá, mas não acostuma heim? 
[]'s
pessoal, resolvido. O problema era que eu tentava usar o mesmo resultset nos 3 whiles, mas já no segundo while o ponteiro estava apontando para o final do resultset. Para resolver podia ter usado rs.beforeFirst(); antes do segundo e terceiro while ou assim que foi o jeito melhor:
[code]int i = 0;
ArrayList ListaDeListas = new ArrayList();
ArrayList ListaDeFilas = new ArrayList();
ArrayList ListaDeListas2 = new ArrayList();
while(rs.next()){
ListaDeListas.add(new ArrayList<String>());
context.setAttribute("logados" + rs.getNString(1) + rs.getNString(2), ListaDeListas.get(i));
ListaDeFilas.add(new LinkedList<String>());
context.setAttribute("naFila" + rs.getNString(1) + rs.getNString(2), ListaDeFilas.get(i));
ListaDeListas2.add(new ArrayList());
context.setAttribute("dePausa" + rs.getNString(1) + rs.getNString(2), ListaDeListas2.get(i));
i++;
}[/code]
obrigado a todos, valeu