[RESOLVIDO]-java.lang.NullPointerException

5 respostas
C

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)

5 Respostas

ThalitaPinheiro

Bota o código…

Possivelmente vc esqueceu de instanciar alguma coisa… =/

C
@ThalitaPinheiro:
Bota o código...

Possivelmente vc esqueceu de instanciar alguma coisa... =/

Que parte do código +-...rs

<!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>

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

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

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

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

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

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

	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();
	      }
	   }
	}
}
C
Tem esse Warning no console..

Tem esse Warning no console…

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

:wink:

C

@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

;)

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

Criado 5 de novembro de 2013
Ultima resposta 6 de nov. de 2013
Respostas 5
Participantes 2