Ajuda com nullPointer

4 respostas
R

Preciso de ajuda urgente!!! não estou conseguindo listar a classe produto não consigo enxergar o erro… todos os listar foram feitos no mesmo padrão e funcionam somente ele que nao… ai vai o código

public List<Produto> listar() {
        //Criando um objeto do tipo array com base na classe Produto
        List<Produto> resultado = new ArrayList<Produto>();
        //
        //Criando objeto para executar o comando no banco de dados
        PreparedStatement stmt = null;
        //
        //Criando o objeto para receber o resultado do select do banco de dados
        ResultSet rs = null;
        //
        //Montando o comando sql
        String sql = ""
				+ " select P.idproduto, P.descricaoproduto, P.valorproduto,"
                + " P.tipounidproduto, P.referenciaproduto, P.statusproduto, M.idmarca, M.descricaomarca"
                + " from produto P, marca M"
                + " where M.idmarca = P.idmarca"
                + " order by P.descricaoproduto";
        //
        try {
            //definindo no Statement a conexão com o banco e o comando SQL
            stmt = conn.prepareStatement(sql);
            System.out.println("entrou");
            //
            //executando o comando sql e atribuindo o resultado para o resultset
            rs = stmt.executeQuery();
           
            //
            //Enquanto, até o ultimo id
            while (rs.next()) {
                // criando uma instancia da classe Cargo
                Produto produto = new Produto();
                // setando a primary key conforme o resultado do select
                produto.setIdProduto(rs.getInt("idproduto"));
                produto.setDescricaoProduto(rs.getString("descricaoproduto"));
                produto.setValorProduto(rs.getDouble("valorproduto"));
                produto.setStatusProduto(rs.getString("statusproduto"));
                produto.setTipoUnidProduto(rs.getString("tipounidproduto"));
                produto.setReferenciaProduto(rs.getString("referenciaproduto"));
                produto.setIdMarca(rs.getInt("idmarca"));
                produto.setDescricaoMarca(rs.getString("descricaomarca"));
                //
                // adicionando a classe pedido com todas as informações no arraylist
                resultado.add(produto);
                
                //
                
            }
            
            //Caso de erro
        } catch (SQLException ex) {
            System.out.println("Problemas ao listar Produto! Erro: " + ex.getMessage());
        } //
        //Fechando a conexão com o banco de dados
        finally {

            try {
                ConnectionFactory.closeConnection(conn, stmt);
            } //Caso de erro
            catch (Exception ex) {
                System.out.println("Problemas ao fechar os parâmetros de conexão! Erro: " + ex.getMessage());
            }
            //
        }
        //
        // retornando o objeto com o resultado do select
        
        return resultado;
        
        //
    }

4 Respostas

gaulix

copia o erro, cola aqui e diz em qual linha que ele aparece

R

Esse é o erro q dá

INFO: Conectado com sucesso
AVISO: ApplicationDispatcher[/ProjetoTV] PWC1231: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
	at org.apache.jsp.listarproduto_jsp._jspService(listarproduto_jsp.java from :127)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:473)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:377)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550)
	at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:809)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:671)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:505)
	at org.apache.catalina.core.ApplicationDispatcher.doDispatch(ApplicationDispatcher.java:476)
	at org.apache.catalina.core.ApplicationDispatcher.dispatch(ApplicationDispatcher.java:355)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:305)
	at br.com.projetotv.controller.ListarProduto.processRequest(ListarProduto.java:39)
	at br.com.projetotv.controller.ListarProduto.doGet(ListarProduto.java:63)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
	at java.lang.Thread.run(Thread.java:662)

INFO: Problemas no Servlet do [ ListarProduto ] Erro: java.lang.NullPointerException

E esse é o código do servelet q da erro

package br.com.projetotv.controller;
import br.com.projetotv.DAO.ProdutoDAO;
import br.com.projetotv.DAO.ProdutoDAOImpl;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ListarProduto extends HttpServlet 
{
    
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException 
    {
        //Instanciando a classe ProdutoDAO para efetuar a gravação dos dados
        try
        {
            ProdutoDAO dao = new ProdutoDAOImpl();
            request.setAttribute("listagem", dao.listar());
            request.getRequestDispatcher("listarproduto.jsp").forward(request, response);
        }
        //Caso de erro
        catch (Exception ex)
        {
            System.out.println("Problemas no Servlet do [ ListarProduto ] Erro: " + ex.getMessage());
        }
        //
        //
    }

    
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}
B

NullPointer Exception ocorre quando tenta executar alguma operação com comandos nulos. Verifica seus “rs.getX(y)”, se todos estão puxando valores corretos (getInt pra puxar int, getDouble pra double, etc).

R

todos os campos batem :?

Criado 6 de novembro de 2012
Ultima resposta 6 de nov. de 2012
Respostas 4
Participantes 3