Conexão a banco não funciona no jsp

Olá, bom dia.
Tenho um sistema de consulta a banco que funciona perfeitamente (listando na console do Eclipse o resultado de pesquisa a um banco mysql). Porém, quando tento fazer esta mesma consulta através de scriptlet, ela não funciona e o Eclipse retorna erro, como se não conseguisse fazer a comexão com o banco. A mesma que funciona se eu rodar através de uma outra classe java. Pode ser que falte alguma configuração no Eclipse? Podem me dar uma dica?
Os arquivos que funcionam estão no diretório src/dao e o jsp está no diretório web.

Grato, Carlos.

Não crie conexões em arquivos JSP use classes normais para fazer isso.

meu jsp é assim:

    <%ListaDAO dao = new ListaDAO(); List listas = dao.getLista(); for (int i = 0; i < listas.size(); i++) { Lista lista = (Lista) listas.get(i); %>
  • <%=lista.getDia()%>, <%=lista.getHora()%>:
  • <% } %>

A ListaDAO é quem chama a classe ConnectionFactory, que está dando o erro quando executada pelo arquivo jsp.

meu jsp é assim:
[b]


    <%ListaDAO dao = new ListaDAO();
    List listas = dao.getLista();
    for (int i = 0; i < listas.size(); i++) {
    Lista lista = (Lista) listas.get(i); %>
  • <%=lista.getDia()%>, <%=lista.getHora()%>:
  • <% } %>
[/b] A ListaDAO é quem chama a classe ConnectionFactory, que está dando o erro quando executada pelo arquivo jsp.

meu jsp é assim:
[b]


    <%ListaDAO dao = new ListaDAO();
    List listas = dao.getLista();
    for (int i = 0; i < listas.size(); i++) {
    Lista lista = (Lista) listas.get(i); %>
  • <%=lista.getDia()%>, <%=lista.getHora()%>:
  • <% } %>
[/b] A ListaDAO é quem chama a classe ConnectionFactory, que está dando o erro quando executada pelo arquivo jsp.

[quote]quando tento fazer esta mesma consulta através de scriptlet[/quote]Trabalhe com JSTL.


http://www.ucb.br/prg/professores/fgoulart/JSTL.pdf

acho que dá para começar né…
sds

Não concordo no que vc disse pro cara ir atras de JSTL. Acho que a primeira coisa eh saber como ele recupera a lista do dao. Se essa lista vier null você realmente tera problemas.

1ª - Você deve colocar os imports na JSP, pois caso não esteja fazendo isso vai sempre dar erro de compilação.

2º - Você deveria usar a seguinte coisa verique se na sua camada de apresentação você passa essa lista corretamente.

3º Você poderia evitar usar scripltes, pois o código fica ilegível, existe várias api hj para que o jsp fica mais amigável ai realmente seria o caso de usar jstl, display-table . No seu caso seria algo desse tipo aqui -->

<c:forEach var=“varColecao” items="${lista}">
${lista.dia}
${lista.hora}
</c:forEach>

Deve ser próximo disso ai espero que tenha ajudado…

:lol:

Caro hebertaquino ,
A dúvida foi.:

ai vc. não concordou com a minha sugestãode usar JSTL e
deu a seguinte sugestão.:

[quote]Não concordo no que vc disse pro cara ir atras de JSTL. Acho que a primeira coisa eh saber como ele recupera a lista do dao. Se essa lista vier null você realmente tera problemas.
[/quote]Será que isso é correto e legivel.:[quote]

    <%ListaDAO dao = new ListaDAO(); List listas = dao.getLista(); for (int i = 0; i < listas.size(); i++) { Lista lista = (Lista) listas.get(i); %>
  • <%=lista.getDia()%>, <%=lista.getHora()%>:
  • <% } %>
[/quote]Bom tá funcional mais, será que é legivel. sua resposta .: [quote] 1ª - Você deve colocar os imports na JSP, pois caso não esteja fazendo isso vai sempre dar erro de compilação.[/quote] Isso que vc quer dizer né.: [code] <%@ page import="org.firebirdsql.jdbc.*,org.firebirdsql.logging.Logger,java.sql.*" %>[/code] Mais será que assim não fica melhor .: [code] <sql:setDataSource var=?ds?
                       driver=?org.firebirdsql.jdbc.FBDriver?

                       url=?jdbc:firebirdsql:localhost:c:\ACADEMICO.FDB?

                       user=?sysdba?

                       password=?masterkey?

                       scope=?session? />[/code]

E …

[code]<c:forEach var=?listaProdutos? items=?${ResultadoProdutos.rows}?>

            <tr>[/code]

E…

[code]

<c:out value=?${listaProdutos.CODPRD}?/>
                <td><c:out value=?${listaProdutos.NOME}?/></td>[/code]

E…

[code]

<fmt:formatDate pattern=?dd/MM/yyyy? value=?${listaProdutos.DATA_ULTIMA_COMPRA}?/>
               <td><c:out value=?${listaProdutos.PRECO_CUSTO}?/></td>

               <td><c:out value=?${listaProdutos.PRECO_VENDA}?/></td>[/code]

Ai vc. faz a seguinte colocação no final.:

[quote] 3º Você poderia evitar usar scripltes, pois o código fica ilegível, existe várias api hj para que o jsp fica mais amigável ai realmente seria o caso de usar jstl, display-table . No seu caso seria algo desse tipo aqui -->

<c:forEach var=“varColecao” items="${lista}">
${lista.dia}
${lista.hora}
</c:forEach> [/quote]Ai eu me pergunto porquê não podemos usar tecnologias(APIs) mais novas no caso JSP e JSTL e ficar apto a criar aplicações simples e de maneira rápida para depois partir para aplicações mais sofisticadas usando frameworks como JSF, Spring, etc.
sds

Ps. Ficou sem formatação mais vai ficar assim mesmo… :oops: