Ao efetuar uma Busca NullPointerException

2 respostas
mazinhospinter

Galera,

Ao preencher o campo de busca para efetuar que possa executar o metodo de busca ocorreu o erro abiaxo:
Oque pode estar ocorrendo?

500 Internal Server Error
javax.faces.FacesException: #{agenda.buscar}: javax.faces.el.EvaluationException: java.lang.NullPointerException	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:98)	at javax.faces.component.UICommand.broadcast(UICommand.java:332)	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:287)	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:401)	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:95)	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:268)	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:213)	at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)	at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)	at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)	at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)	at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)	at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)	at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)	at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)	at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)	at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)	at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)	at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)	at java.lang.Thread.run(Thread.java:595)Caused by: javax.faces.el.EvaluationException: java.lang.NullPointerException	at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:150)	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:92)	... 20 moreCaused by: java.lang.NullPointerException	at agenda.AgendaDB.buscar(AgendaDB.java:109)	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)	at java.lang.reflect.Method.invoke(Method.java:585)	at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:146)	... 21 more

Como que posso ver se o campo com o valor preenchido esta realmente sendo passado para a execução do método

Código da pagina é essa:

buscar.jsp

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1252"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<f:view>
  <html>
    <head>
      <meta http-equiv="Content-Type"
            content="text/html; charset=windows-1252"/>
      <title>...::: Busca </title>
      <link href="css/jdeveloper.css" rel="stylesheet" media="screen"/>
    </head>
    <body><h:form>
        <center>
          <h2>Busca</h2>
          <br></br>
          Digite o Nome:
          <h:inputText id="nome" value="#{agenda.nome}"/>
          <h:commandButton value=" OK " action="#{agenda.buscar}"/>
        </center>
        <h:outputLink value="index.jsp">
          <f:verbatim>Home</f:verbatim>
        </h:outputLink>
      </h:form></body>
  </html>
</f:view>

Obrigado

2 Respostas

Javabuntu

NullPointerException significa que você está usando um objeto com referência nula.

seu problema está nessa linha:

java.lang.NullPointerException    at agenda.AgendaDB.buscar(AgendaDB.java:109)

procure na sua classe AgendaDB.java na linha 109, quando você clicou no botão OK, essa refeência não tem valor nenhum e ai é lançada a exception.

flw Hewerton

mazinhospinter

Mesmo atribuindo um valor fixo ocorre o erro na apresentação do resultado:

public String buscar() throws SQLException { String result_busca = BUSCA_INVALIDA; try { stm = con.createStatement(); rs = stm.executeQuery("SELECT * FROM pessoa WHERE nome = 'Padre do Balão'"); if (rs.next()) { nome = rs.getString(1); endereco = rs.getString(2); cidade = rs.getString(3); telefone = rs.getString(4); result_busca = BUSCA_VALIDA; } else result_busca = BUSCA_INVALIDA; rs.close(); stm.close(); } catch (SQLException e) { System.err.println("Erro: " + e); } return result_busca; }

Criado 29 de abril de 2008
Ultima resposta 29 de abr. de 2008
Respostas 2
Participantes 2