Erro ao executar Servlet

Boa noite pessoal, tem um erro aqui que não estou conseguindo encontrar e por isso venho pedir a ajuda de vcs…
estou acessando a base de dados mysql .
o código com erro está aí…

package br.com.globalcode.aj.ecommerce;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;



import br.com.globalcode.aj.dao.ProdutosDAO;
import br.com.globalcode.aj.dao.ProdutosDB;
import br.com.globalcode.beans.CatalogoProdutos;
import br.com.globalcode.beans.Produto;
import br.com.globalcode.util.GlobalcodeException;

public class CatalogoProdutosView extends HttpServlet {
	

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {

            response.setContentType("text/html");
            PrintWriter out = response.getWriter();

            out.println("<html>");
            out.println("<head>");
            out.println("<title>Catalogo Produtos - Academia do Java</title>");
            out.println("<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>");
            out.println("</head>");
            out.println("<body>");
            out.println("<link href= 'aj.css' rel='stylesheet' type='text/css'>");
            out.println("<H3>Catalogo de produtos </H3>");
            ProdutosDAO produtosDB = new ProdutosDB();

            CatalogoProdutos catalogo = null;
            try {
                catalogo = produtosDB.getCatalogoProdutos();
            } catch (GlobalcodeException e) {
                e.printStackTrace();
            }
            String nome = catalogo.get(0).getNome();
            out.println("<p>"+nome+"</p>");

            out.println("</body>");
            out.println("</html>");

    }
    

}

o erro é esse

HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

java.lang.NullPointerException
	br.com.globalcode.aj.ecommerce.CatalogoProdutosView.doGet(CatalogoProdutosView.java:45)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.

para testar se era problema na minha conexão com o banco fiz o seguinte teste (meio porcão mesmo) pondo um método main e executando…ele me trouxe o registro

package br.com.globalcode.aj.ecommerce;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;



import br.com.globalcode.aj.dao.ProdutosDAO;
import br.com.globalcode.aj.dao.ProdutosDB;
import br.com.globalcode.beans.CatalogoProdutos;
import br.com.globalcode.beans.Produto;
import br.com.globalcode.util.GlobalcodeException;

public class CatalogoProdutosView extends HttpServlet {
	

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {

            response.setContentType("text/html");
            PrintWriter out = response.getWriter();

            out.println("<html>");
            out.println("<head>");
            out.println("<title>Catalogo Produtos - Academia do Java</title>");
            out.println("<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>");
            out.println("</head>");
            out.println("<body>");
            out.println("<link href= 'aj.css' rel='stylesheet' type='text/css'>");
            out.println("<H3>Catalogo de produtos </H3>");
            out.println("<TABLE width = '700' border='0'>");
            out.println("</TABLE>");
            out.println("</body>");
            out.println("</html>");

    }
    
    public static void main(String args[]){
        ProdutosDAO produtosDB = new ProdutosDB();
        CatalogoProdutos catalogo = null;
        try {
            catalogo = produtosDB.getCatalogoProdutos();
        } catch (GlobalcodeException e) {
            e.printStackTrace();
        }
        String nome = catalogo.get(0).getNome();
        System.out.println(nome);
    	
    }

}

alguém sabe qual m… estou fazendo??

valeu galera abraço a todos

java.lang.NullPointerException br.com.globalcode.aj.ecommerce.CatalogoProdutosView.doGet(CatalogoProdutosView.java:45)
Linha 45: String nome = catalogo.get(0).getNome();
Ou seja, este seu CatalogoProdutos está vazio, catalogo = produtosDB.getCatalogoProdutos(); está retornando uma lista vazia.

[quote=bKn]java.lang.NullPointerException br.com.globalcode.aj.ecommerce.CatalogoProdutosView.doGet(CatalogoProdutosView.java:45)
Linha 45: String nome = catalogo.get(0).getNome();
Ou seja, este seu CatalogoProdutos está vazio, catalogo = produtosDB.getCatalogoProdutos(); está retornando uma lista vazia.[/quote]

Bom dia

ja que o erro que esta dando é de lista vazia, como poderia resolver este problema. Sei que precisamos preencher a lista. Mas como fazer isso? saberia me dizer fazendo um favor ?

Qual é exatamente o seu problema?
O método getCatalogoProdutos() na classe ProdutosDB provavelmente deve estar errado.

Primeiramente obrigado pela resposta bkn,
Então, creio que meu método não está com erro, pois como postei na primeira msg se chamar meu método através de um main ele me retorna os dados corretamente…

    public static void main(String args[]){   
        ProdutosDAO produtosDB = new ProdutosDB();   
        CatalogoProdutos catalogo = null;   
        try {   
            catalogo = produtosDB.getCatalogoProdutos();   
        } catch (GlobalcodeException e) {   
            e.printStackTrace();   
        }   
        String nome = catalogo.get(0).getNome();   
        System.out.println(nome);   
           
    }  

somente peguei a parte que executa aí e joguei no servlet, mas ele me dá o erro. por isso estou achando estranho.

teria alguma outra sugestão para mim fazer ou testar?

obrigado