[RESOLVIDO]-java.lang.NullPointerException

Galera me ajudem com essa pilha de erro…
não consigo starta a aplicação…

java.lang.NullPointerException at org.apache.jsp.livro.CadastrarLivroCleverson_jsp._jspx_meth_c_if_1(CadastrarLivroCleverson_jsp.java:399) at org.apache.jsp.livro.CadastrarLivroCleverson_jsp._jspService(CadastrarLivroCleverson_jsp.java:201) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 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:790) at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:357) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:260) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:188) at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191) at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:168) at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189) at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206) at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136) at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114) at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838) at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544) at java.lang.Thread.run(Thread.java:722)

Bota o código…

Possivelmente vc esqueceu de instanciar alguma coisa… =/

[quote=@ThalitaPinheiro]Bota o código…

Possivelmente vc esqueceu de instanciar alguma coisa… =/[/quote]

Que parte do código ±…rs

[code]<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”
http://www.w3.org/TR/html4/loose.dtd”>
<%@page contentType=“text/html” pageEncoding=“UTF-8”%>
<%@page import=“java.util.Set”%>
<%@taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c” %>
<%@taglib uri=“http://java.sun.com/jsp/jstl/fmt” prefix=“fmt”%>
<html>
<head>
<meta http-equiv=“Content-Type” content=“text/html; charset=windows-1252”/>
<title>CADASTRAR PESSOA GAMBIARRA</title>
<link rel=“StyleSheet” href="<%=request.getContextPath()%>/estilos/Estilos.css" type=“text/css”/>
<style type=“text/css”>
body {
background-color: #ffffff;
}
</style>

    &lt;script type="text/javascript"&gt;
        function cadastrarLivro()
        {
            document.form.action = "&lt;%=request.getContextPath()%&gt;/livro/cadastrar?CADASTRAR_LIVRO=1&quot;;
            document.form.submit();
        }

        function campoNumerico(campo)
        {
            var digits = &quot;0123456789&quot;
            var temp
            var ok = true;
            for (var i = 0; i &lt; campo.value.length; i++)
            {
                temp = campo.value.substring(i, i + 1)
                if (digits.indexOf(temp) == -1)
                {
                    alert(&quot;O campo deve ser preenchido apenas com números!&quot;)
                    campo.focus();
                    campo.value = &quot;&quot;;
                    return false;
                }
            }
        }

        function alterarLivro(codigo)
        {
            document.form.action = &quot;&lt;%=request.getContextPath()%&gt;/alterar/livro/cleverson?CODIGO_LIVRO=" + codigo;
            document.form.submit();
        }

        function alterar()
        {
            document.form.action = "&lt;%=request.getContextPath()%&gt;/alterar/livro/cleverson?ALTERAR_LIVRO=1";
            document.form.submit();
        }

        function deletar()
        {
            document.form.action = "&lt;%=request.getContextPath()%&gt;/excluir/livro/cleverson?EXCLUIR_LIVRO=1";
            document.form.submit();
        }

        function mostrarMensagem()
        {
        &lt;c:if test="${not empty exception}"&gt;
            alert('&lt;c:out value="${exception.message}"/&gt;');
        &lt;/c:if&gt;
        }
    &lt;/script&gt;
&lt;/head&gt;
&lt;body onload="mostrarMensagem();"&gt;
    &lt;form name="form" method="POST" action=""&gt;
        &lt;table cellspacing="0" cellpadding="0" border="0" width="50%"
               align="center"&gt;
            &lt;tr&gt;
                &lt;td width="30%" align="right"&gt;NOME:&lt;/td&gt;
                &lt;td&gt;
                    &lt;input type="text" name="livro_nome" maxlength="50" size="50"
                           align="left" id="txtLivro"
                           value='&lt;c:out value="${livroVo.nome}"/&gt;' 	  
                           /&gt;
                    &lt;input type="hidden" name="livro_codigo" value='&lt;c:out value="${livroVo.codigo}"/&gt;'/&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td align="right"&gt;AUTOR:&lt;/td&gt;
                &lt;td&gt;
                    &lt;input type="text" name="livro_autor" maxlength="100" align="left"
                           size="50" id="txtAutor"
                           value='&lt;c:out value="${livroVo.autor}"/&gt;' 	  
                           /&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td align="right"&gt;PRECO:&lt;/td&gt;
                &lt;td&gt;
                    &lt;input type="text" name="livro_preco" maxlength="6" align="left"
                           size="10" id="txtQuant" onblur="campoNumerico(this)"
                           value='&lt;c:out value="${livroVo.precoUnitario}"/&gt;'
                           /&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td align="right"&gt;ASSUNTO:&lt;/td&gt;
                &lt;td&gt;
                    &lt;input type="text" name="livro_ass" maxlength="500" align="left"
                           size="100" id="txtAss"
                           value='&lt;c:out value="${livroVo.assunto}"/&gt;' 	  
                           /&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td colspan="2" align="center"&gt;
                    &lt;input type="button" value="CADASTRAR" id="btCad" onclick="cadastrarLivro();"/&gt;
                    &lt;c:if test="${alterar}"&gt;
                        &lt;input type="button" value="ALTERAR" id="btAlt" onclick="alterar();"/&gt;
                    &lt;/c:if&gt;
                    &lt;c:if test="${deletar}"&gt;
                        &lt;input type="button" value="DELETAR" id="btDel" onclick="deletar();"/&gt;
                    &lt;/c:if&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td colspan="2" align="center"&gt;&lt;c:out value="${mensagem}"/&gt;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td colspan="2" align="center"&gt;&lt;c:out value="${mensagemErro}"/&gt;&lt;/td&gt;
            &lt;/tr&gt;
        &lt;/table&gt;
        &lt;table cellspacing="0" cellpadding="5" border="1" width="50%" align="center"&gt;
            &lt;tr&gt;
                &lt;td&gt;CODIGO&lt;/td&gt;
                &lt;td&gt;NOME&lt;/td&gt;
                &lt;td&gt;AUTOR&lt;/td&gt;
                &lt;td&gt;PREÇO&lt;/td&gt;
                &lt;td&gt;ASSUNTO&lt;/td&gt;
            &lt;/tr&gt;
            &lt;c:forEach var="livroAtual" items="${listaLivros}" varStatus="status"&gt;
                &lt;c:set var="LINHA_ESTILO" value="TR-ExibicaoPar"/&gt;
                &lt;c:if test="${status.index % 2 != 0}"&gt;
                    &lt;c:set var="LINHA_ESTILO" value="TR-ExibicaoImpar"/&gt;
                &lt;/c:if&gt;
                &lt;tr class="&lt;c:out value='${LINHA_ESTILO}'/&gt;"&gt;
                    &lt;td align="center"&gt;
                        <a ${livroAtual.codigo}"/>);&quot;&gt;
                            &lt;c:out value="${livroAtual.codigo}"/&gt;
                        </a>
                    &lt;/td&gt;
                    &lt;td&gt;&lt;c:out value="${livroAtual.nome}"/&gt;&lt;/td&gt;
                    &lt;td&gt;&lt;c:out value="${livroAtual.autor}"/&gt;&lt;/td&gt;
                    &lt;td&gt;&lt;c:out value="${livroAtual.precoUnitario}"/&gt;&lt;/td&gt;
                    &lt;td&gt;&lt;c:out value="${livroAtual.assunto}"/&gt;&lt;/td&gt;
                &lt;/tr&gt;
            &lt;/c:forEach&gt;
        &lt;/table&gt;
    &lt;/form&gt;
&lt;/body&gt;

</html>[/code]

[code]package br.com.abaco.treinamento.java.noturno.livro.dao;

import br.com.abaco.treinamento.java.noturno.livro.javabean.LivroVo;

import br.com.abaco.treinamento.java.noturno.utilitarios.dao.AbstractDao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import java.util.ArrayList;

public class CadastrarLivroCleversonDao extends AbstractDao
{
public CadastrarLivroCleversonDao(Connection conexaoParm) throws SQLException
{
super(conexaoParm);
}

public void cadastrarLivro(LivroVo livro) throws SQLException
{
	PreparedStatement ps = null;
	String sql = &quot;insert into TB_LIVRO(CODIGO_LIVRO, NOME, AUTOR, PRECO, ASSUNTO) values (?, ?, ?, ?, ?)&quot;;
	ps = getConexao().prepareStatement(sql);
	ps.setLong(1, gerarSequence(&quot;SEQUENCE_LIVRO&quot;));
	ps.setString(2, livro.getNome());
	ps.setString(3, livro.getAutor());
	ps.setDouble(4, livro.getPrecoUnitario());
	ps.setString(5, livro.getAssunto());
	ps.executeUpdate();
}

protected long gerarSequence(String nomeSequence) throws SQLException
{
	PreparedStatement ps = null;
	ResultSet rs = null;
	long codigo = 0;
	String sql = &quot;SELECT &quot; + nomeSequence + &quot;.NEXTVAL AS CODIGO FROM DUAL&quot;;
   ps = getConexao().prepareStatement(sql);
	rs = ps.executeQuery();
	if(rs.next())
	{
		codigo = rs.getLong(&quot;CODIGO&quot;);
	}
	return codigo;
}

public ArrayList listaLivros() throws SQLException
{
	PreparedStatement ps = null;
	ResultSet rs = null;
	String sql = &quot;SELECT * FROM TB_LIVRO&quot;;
   ps = getConexao().prepareStatement(sql);
	rs = ps.executeQuery();
	ArrayList lista = new ArrayList();
	while(rs.next())
	{
		LivroVo livroAtual = new LivroVo();;
		livroAtual.setCodigo(rs.getLong(&quot;CODIGO_LIVRO&quot;));
		livroAtual.setNome(rs.getString(&quot;NOME&quot;));
		livroAtual.setAutor(rs.getString(&quot;AUTOR&quot;));
		livroAtual.setPrecoUnitario(rs.getDouble(&quot;PRECO&quot;));
		livroAtual.setAssunto(rs.getString(&quot;ASSUNTO&quot;));
		lista.add(livroAtual);
	}
	return lista;
}

public LivroVo consultaLivros(LivroVo livroVo) throws SQLException
{
	PreparedStatement ps = null;
	ResultSet rs = null;
	String sql = &quot;SELECT * FROM TB_LIVRO WHERE CODIGO_LIVRO = ?&quot;;
   ps = getConexao().prepareStatement(sql);
	ps.setLong(1, livroVo.getCodigo());
	rs = ps.executeQuery();
	if(rs.next())
	{
		livroVo.setCodigo(rs.getLong(&quot;CODIGO_LIVRO&quot;));
		livroVo.setNome(rs.getString(&quot;NOME&quot;));
		livroVo.setAutor(rs.getString(&quot;AUTOR&quot;));
		livroVo.setPrecoUnitario(rs.getDouble(&quot;PRECO&quot;));
		livroVo.setAssunto(rs.getString(&quot;ASSUNTO&quot;));
	}
	return livroVo;
}

public void alterarLivro(LivroVo livroVo) throws SQLException
{
	PreparedStatement ps = null;
	String sql = &quot;UPDATE TB_LIVRO SET NOME = ?, AUTOR = ?, PRECO = ?, ASSUNTO = ? WHERE CODIGO_LIVRO = ?&quot;;
   ps = getConexao().prepareStatement(sql);
	ps.setString(1, livroVo.getNome());
	ps.setString(2, livroVo.getAutor());
	ps.setDouble(3, livroVo.getPrecoUnitario());
	ps.setString(4, livroVo.getAssunto());
	ps.setLong(5, livroVo.getCodigo());
	ps.executeUpdate();
}

public void excluirLivro(LivroVo livroVo) throws SQLException
{
	PreparedStatement ps = null;
	String sql = &quot;DELETE FROM TB_LIVRO WHERE CODIGO_LIVRO = ?&quot;;
   ps = getConexao().prepareStatement(sql);
	ps.setLong(1, livroVo.getCodigo());
	ps.executeUpdate();
}

}
[/code]

[code]package br.com.abaco.treinamento.java.noturno.livro.be;

import br.com.abaco.treinamento.java.noturno.exception.CampoObrigatorioException;
import br.com.abaco.treinamento.java.noturno.livro.dao.CadastrarLivroCleversonDao;
import br.com.abaco.treinamento.java.noturno.livro.javabean.LivroVo;
import br.com.abaco.treinamento.java.noturno.utilitarios.be.AbstractBe;
import java.sql.SQLException;
import java.util.ArrayList;

public class CadastrarLivroCleversonBe extends AbstractBe {

public CadastrarLivroCleversonBe() throws SQLException {
    super();
}

public void cadastrarLivro(LivroVo livro) throws SQLException, CampoObrigatorioException {
    try {
        validaCampos(livro);
        CadastrarLivroCleversonDao livroDao = new CadastrarLivroCleversonDao(getConexao());
        livroDao.cadastrarLivro(livro);
        commit();
    } catch (Error e) {
        e.printStackTrace();
        rollBack();
        throw e;
    } catch (RuntimeException e) {
        e.printStackTrace();
        rollBack();
        throw e;
    }
}

public ArrayList listaLivros() throws SQLException {
    try {
        CadastrarLivroCleversonDao livro = new CadastrarLivroCleversonDao(getConexao());
        ArrayList listaLivro = livro.listaLivros();
        return listaLivro;
    } catch (Error e) {
        e.printStackTrace();
        rollBack();
        throw e;
    } catch (RuntimeException e) {
        e.printStackTrace();
        rollBack();
        throw e;
    }
}

public LivroVo consultaLivro(LivroVo livroVoParm) throws SQLException {
    try {
        CadastrarLivroCleversonDao livroDao = new CadastrarLivroCleversonDao(getConexao());
        return livroDao.consultaLivros(livroVoParm);
    } catch (Error e) {
        e.printStackTrace();
        rollBack();
        throw e;
    } catch (RuntimeException e) {
        e.printStackTrace();
        rollBack();
        throw e;
    }
}

public void alterarLivroBe(LivroVo livro) throws SQLException, CampoObrigatorioException {
    try {
        validaCampos(livro);
        CadastrarLivroCleversonDao livroDao = new CadastrarLivroCleversonDao(getConexao());
        livroDao.alterarLivro(livro);
        commit();
    } catch (Error e) {
        e.printStackTrace();
        rollBack();
        throw e;
    } catch (RuntimeException e) {
        e.printStackTrace();
        rollBack();
        throw e;
    }
}

public void excluirLivro(LivroVo livroVo) throws SQLException {
    try {
        CadastrarLivroCleversonDao livroDao = new CadastrarLivroCleversonDao(getConexao());
        livroDao.excluirLivro(livroVo);
        commit();
    } catch (Error e) {
        e.printStackTrace();
        rollBack();
        throw e;
    } catch (RuntimeException e) {
        e.printStackTrace();
        rollBack();
        throw e;
    }
}

private void validaCampos(LivroVo livro) throws SQLException, CampoObrigatorioException {
    if (livro.getNome() == null || livro.getNome().trim().equals(&quot;&quot;)) {
        throw new CampoObrigatorioException(&quot;O campo Nome &#65533; Obrigat&#65533;rio!&quot;);
    }
    if (livro.getAutor() == null || livro.getAutor().trim().equals(&quot;&quot;)) {
        throw new CampoObrigatorioException(&quot;O campo Autor &#65533; Obrigat&#65533;rio!&quot;);
    }
    if (livro.getPrecoUnitario() &lt;= 0) {
        throw new CampoObrigatorioException(&quot;O campo Pre&#65533;o &#65533; Obrigat&#65533;rio!&quot;);
    }
    if (livro.getAssunto() == null || livro.getAssunto().trim().equals(&quot;&quot;)) {
        throw new CampoObrigatorioException(&quot;O campo Assunto &#65533; Obrigat&#65533;rio!&quot;);
    }
}

}
[/code]

[code]package br.com.abaco.treinamento.java.noturno.livro.servlet;

import br.com.abaco.treinamento.java.noturno.exception.CampoObrigatorioException;
import br.com.abaco.treinamento.java.noturno.livro.be.CadastrarLivroCleversonBe;
import br.com.abaco.treinamento.java.noturno.livro.javabean.LivroVo;

import java.io.IOException;

import java.sql.SQLException;

import java.util.ArrayList;

import javax.servlet.;
import javax.servlet.http.
;

public class CadastrarLivroCleverson extends HttpServlet
{
private static final String CONTENT_TYPE = "text/html; charset=windows-1252";

public void init(ServletConfig config) throws ServletException
{
	super.init(config);
}

public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
	try
	{
		if(request.getParameter(&quot;CADASTRAR_LIVRO&quot;) != null)
		{
			cadastrarLivro(request, response);
		}
		else
		{
		   listarLivros(request, response);
		}
	}
	catch(Throwable e)
	{
	   e.printStackTrace();
	   String mensagemUsuario = e.getMessage();
	   request.setAttribute(&quot;mensagemErro&quot;, mensagemUsuario);
	   RequestDispatcher rd = request.getRequestDispatcher(&quot;/erros/ViewErro.jsp&quot;);
	   rd.forward(request, response);
	}
}


public void cadastrarLivro(HttpServletRequest request, HttpServletResponse response) throws SQLException, 
		  ServletException, IOException
{
   CadastrarLivroCleversonBe livro = null;
   double precoDoub = 0;
	try
	{
		 LivroVo livroVo = new LivroVo();
	         request.setAttribute(&quot;livroVo&quot;, livroVo);
		 String nomeLivro = request.getParameter(&quot;livro_nome&quot;);
		 String autLivro = request.getParameter(&quot;livro_autor&quot;);
		 String precoLivro = request.getParameter(&quot;livro_preco&quot;);
		 String assLivro = request.getParameter(&quot;livro_ass&quot;);
		 
		try
		{
			precoDoub = Double.parseDouble(precoLivro);
		}
		catch(NumberFormatException e)
		{
			e.printStackTrace();
			precoDoub = 0;
		}
		 livroVo.setNome(nomeLivro);
		 livroVo.setAutor(autLivro);
		 livroVo.setPrecoUnitario(precoDoub);
		 livroVo.setAssunto(assLivro);
		
		livro = new CadastrarLivroCleversonBe();
		livro.cadastrarLivro(livroVo);
		
		ArrayList listaLivros = livro.listaLivros();
		request.getSession().setAttribute(&quot;listaLivros&quot;, listaLivros);
		
		request.setAttribute(&quot;mensagem&quot;, &quot;Aguarde... Cadastrando!!!&quot;);
		
		RequestDispatcher rd = request.getRequestDispatcher(&quot;/livro/CadastrarLivroCleverson.jsp&quot;);
		rd.forward(request, response);
	}
	catch(CampoObrigatorioException e)
	{
		e.printStackTrace();
		String mensagem = e.getMessage();
		request.setAttribute(&quot;exception&quot;, e);
	   RequestDispatcher rd = request.getRequestDispatcher(&quot;/livro/CadastrarLivroCleverson.jsp&quot;);
	   rd.forward(request, response);
	}
	finally
	{
		if(livro != null)
		{
		   livro.close();
		}
	}
}

private void listarLivros(HttpServletRequest request, HttpServletResponse response) throws SQLException, 
		  ServletException, IOException
{
   CadastrarLivroCleversonBe livro = null;
	try
	{
		livro = new CadastrarLivroCleversonBe();
		ArrayList listaLivros = livro.listaLivros();
		request.getSession().setAttribute(&quot;listaLivros&quot;, listaLivros);
		RequestDispatcher rd = request.getRequestDispatcher(&quot;/livro/CadastrarLivroCleverson.jsp&quot;);
		rd.forward(request, response);
	}
   finally
   {
      if(livro != null)
      {
         livro.close();
      }
   }
}

}
[/code]


Tem esse Warning no console..

Tem esse Warning no console…

HAHAHAHAHA…

&lt;title&gt;CADASTRAR PESSOA GAMBIARRA&lt;/title&gt;

HAHAHAH…

Faz o seguinte, cola o log de erro inteiro aqui…
e cola o arquivo .java que tiver sendo usado…

talvez seja esse…

CadastrarLivroCleverson_jsp.java

:wink:

[quote=@ThalitaPinheiro]HAHAHAHAHA…

&lt;title&gt;CADASTRAR PESSOA GAMBIARRA&lt;/title&gt;

HAHAHAH…

Faz o seguinte, cola o log de erro inteiro aqui…
e cola o arquivo .java que tiver sendo usado…

talvez seja esse…

CadastrarLivroCleverson_jsp.java

;)[/quote]

suhausahusha - agora já deletei o projeto…vô começar denovo…hehe
Vlw pela força…