Oi Pessoal estou com um pequeno ou grande probleminha…rsrs
É assim… eu estou querendo puxar valores do banco de dandos atraves de um bean… para dividir bem as coisas… fiz os esquemas e tal… só que…
na hora de executar da pau…
O problema é que quando executo ele no dos, ou num terminalzinho… ele funciona, ele puxa os dados e tal… mostrando que o que fiz esta certo…
Mas ae na hora em que eu vou executar o bean no JSP da pau… olha a quando eu esxecuto este main funciona.
[b]public static void main(String args[]){
UsuariosDAO dao = new UsuariosDB();
ListaUsuarios listaUsuarios = dao.executeSQL("SELECT * FROM USUARIOS");
for (int i = 0; i < listaUsuarios.size(); i++) {
Usuario usuario = listaUsuarios.getUsuario(i);
System.out.println( usuario.getUin() + "\t" + usuario.getApelido() + "\t" + usuario.getSenha() );
}
}[/b]
Agora quando Executo dentro do JSP ou servlet… nada de funcionar…rsrs
Olhem:
[b]<%@page import = “teste.beans."%>
<%@page import = "teste.dao.”%>
<html>
<body>
<center>
<%
ListaUsuarios listaUsuarios = (ListaUsuarios)Application.getAttribute("CatalogoProdutos");
%>
<%
for (int i = 0; i < listaUsuarios.size(); i++) {
Usuario usuario = listaUsuarios.getUsuario(i);
%>
<h1><%=usuario.getUin() %></h1>
<% } %>
</center>
</body>
</html>[/b]
Ae eu executo esta classe que instacia e joga a classe da lista de usuarios, no escopo de aplicação… mas exatamente na hora de rodar esta classe da pau…
O erro que da:
[color=“red”]java.lang.NullPointerException
at teste.dao.UsuariosDB.executeSQL(UsuariosDB.java:39)
at teste.ecommerce.CatalogoCacheController.atualizarCatalogoProdutos(CatalogoCacheController.java:62)
at teste.ecommerce.CatalogoCacheController.doGet(CatalogoCacheController.java:54)[/color]
Aqui a classe:
[b]
package teste.ecommerce;
import java.io.*;
import java.util.Date;
import javax.servlet.;
import javax.servlet.http.;
import teste.beans.ListaUsuarios;
import teste.dao.UsuariosDAO;
import teste.dao.UsuariosDB;
public class CatalogoCacheController extends HttpServlet {
private static final long TEMPO_CACHE_CATALOGO = 60 * 60; // numeroHoras*numeroMinutosHora*numeroSegundosMinuto
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
System.out.println("-------------------------------------------------------------------------------");
String contexto = request.getContextPath();
System.out.println("[CatalogoProdutosView:doGet] Contexto = " + contexto);
ServletContext servletContext = getServletContext();
ListaUsuarios listaUsuarios = (ListaUsuarios) servletContext.getAttribute("CatalogoProdutos");
Date dataAtualizacaoCatalogo = (Date) servletContext.getAttribute("DataAtualizacaoCatalogo");
// Catalogo já esta no contexto
if (listaUsuarios != null) {
System.out.println("[CatalogoProdutosView:doGet] Catalogo já esta no contexto e tem "
+ listaUsuarios.size() + " itens");
Date dataAtual = new Date();
long tempoSemAtualizacao = dataAtual.getTime() - dataAtualizacaoCatalogo.getTime();
long tempoFaltaParaAtualizacao = TEMPO_CACHE_CATALOGO - tempoSemAtualizacao;
System.out.println("[CatalogoProdutosView:doGet] Data atual " + dataAtual.getTime());
System.out.println("[CatalogoProdutosView:doGet] Ultima atualizacao catalogo "
+ dataAtualizacaoCatalogo.getTime());
System.out.println("[CatalogoProdutosView:doGet] Tempo sem atualizacao (s) " + tempoSemAtualizacao);
System.out.println("[CatalogoProdutosView:doGet] TEMPO_CACHE_CATALOGO (s) " + TEMPO_CACHE_CATALOGO);
System.out.println("[CatalogoProdutosView:doGet] Faltam " + tempoFaltaParaAtualizacao
+ "s para atualizar o CatalogoProdutos");
// Se o Catalogo ja está a mais que o TEMPO_CACHE_CATALOGO no contexto,vamos atualizá-lo e também a dataAtualizacaoCatalogo
if (tempoFaltaParaAtualizacao <= 0) {
listaUsuarios = atualizarCatalogoProdutos(servletContext);
System.out.println("[CatalogoProdutosView:doGet] Catalogo esta sendo atualizado as " + new Date());
}
}
// Catalogo NÃO está no contexto, vamos obte-lo do BD e colocá-lo no contexto com a chave CatalogoProdutos
else {
listaUsuarios = atualizarCatalogoProdutos(servletContext);
System.out.println("[CatalogoProdutosView:doGet] Catalogo colocado no contexto " + new Date());
}
response.sendRedirect(contexto+"/jsp/teste.jsp");
}
private ListaUsuarios atualizarCatalogoProdutos(ServletContext context) {
UsuariosDAO db = new UsuariosDB();
ListaUsuarios listaUsuarios = db.executeSQL("SELECT * FROM USUARIOS");
context.setAttribute("ListaUsuarios", listaUsuarios);
context.setAttribute("DataAtualizacaoCatalogo", new Date());
return listaUsuarios;
}
}[/b]
Bem é isso…
O que eu faço?
Ate agora naum achei o erro…
E ja stou a alguns dias procurando…rsrs
Valew Pessoal!!![/code][/list][/url]