Servlet JSP e Banco de Dados no Beans - java.lang.NullPointe

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 &lt;= 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]

que coisa né…
mó rolo…
tenho que ver que eu faço agora…
que será qui ta danu erru…

Pelo erro, o problema está na classe UsuariosDB, na linha 39… tenho como vc postar ela?

Desculpa, imaginei que fosse necessário postar ela aque… só que naum queria deixar o texto muiito grande…
mas eu acho que num é nela que esta o problema naum, senão acho que quando eu executasse o mesmo com o metodo “main” daria erro…
é que acho, vou colocar o código aque…
Valew!!!

[code]package teste.dao;

import java.sql.;
import java.util.
;

import teste.beans.ListaUsuarios;
import teste.beans.Usuario;

public class UsuariosDB implements UsuariosDAO {

public void insertSQL&#40;String strSql&#41; &#123;
	 Connection con = null;
	 Statement stmt = null;
     
	try &#123;  		
		stmt = con.createStatement&#40;&#41;;
		stmt.executeUpdate&#40; strSql &#41;;
		
	&#125; catch &#40;SQLException e&#41; &#123;
		e.printStackTrace&#40;&#41;;
		
	&#125; finally &#123;
        ConnectionManager.closeAll&#40;con, stmt&#41;;
    &#125;	
&#125;

public ListaUsuarios executeSQL&#40;String strSql&#41; &#123;
					
  	Vector vUsuarios = null;
  	
  	Connection con = null;
	Statement stmt = null;
    ResultSet rs = null;
	
  	try &#123;  		
  		vUsuarios = new Vector&#40;&#41;;
  		
  		con = ConnectionManager.getConexao&#40;ConnectionManager.FIREBIRD&#41;;
		stmt = con.createStatement&#40;&#41;;
		rs = stmt.executeQuery&#40; strSql &#41;;		
		
		if &#40; rs.next&#40;&#41; &#41; &#123;
			while&#40; rs.next&#40;&#41; &#41;&#123;
				
				String apelido = rs.getString&#40;&quot;APELIDO&quot;&#41;;
				int usuarioAtivo = rs.getInt&#40;&quot;USUARIOATIVO&quot;&#41;;
				String horaEntrada = rs.getString&#40;&quot;HORAENTRADA&quot;&#41;;
				String  horaSaida = rs.getString&#40;&quot;HORASAIDA&quot;&#41;;
				int uin = rs.getInt&#40;&quot;UIN&quot;&#41;;
				String nomeUsuario = rs.getString&#40;&quot;NOMEUSUARIO&quot;&#41;;
				String senha = rs.getString&#40;&quot;SENHA&quot;&#41;;

	        	Usuario u = new Usuario&#40;apelido, usuarioAtivo, horaEntrada, horaSaida, uin, nomeUsuario, senha&#41;;
	        	vUsuarios.add&#40;u&#41;;
			&#125;
			
			ListaUsuarios listaUsuarios = new ListaUsuarios&#40;vUsuarios&#41;;
	        return listaUsuarios;
	        
		&#125; else &#123;
			return null;
		&#125;
		
	&#125; catch &#40;SQLException e&#41; &#123;
		e.printStackTrace&#40;&#41;;
		
	&#125; finally &#123;
        ConnectionManager.closeAll&#40;con, stmt, rs&#41;;
    &#125;
	return null;
&#125;[/code]

[color=“green”][size=“11”]não use Bold no seu código, use a tag CODE - matheus[/size][/color]