Como resolver java.lang.NullPointerException?

Criei a classe Server ! Contudo é lançada uma exception do tipo java.lang.NullPointerException ! Será que alguém me podia ajudar neste problema?

A classe é a seguinte:

package servlet;

import apoio.ConexaoBD;
import dao.PessoaDAO;
import entidade.Pessoa;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class SERVPessoa extends HttpServlet {
    private static final long serialVersionUID = 1L;
    private Connection conn;
    private ConexaoBD conexao;

        ConexaoBD conex = new ConexaoBD ();
       
       public SERVPessoa () {
           super ();
       }

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {
            /* TODO output your page here. You may use following sample code. */
            out.println("<!DOCTYPE html>");
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet Controlador</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Servlet Controlador at " + request.getContextPath() + "</h1>");
            out.println("</body>");
            out.println("</html>");
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        System.out.println ("Olá Servlet");
        doPost(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        System.out.println ("Olá Servlet");
        PrintWriter out = response.getWriter();
 
            PessoaDAO dao = new PessoaDAO ();
            Pessoa p = new Pessoa ();
            List<Pessoa> listaPessoa = new ArrayList ();
            
            RequestDispatcher rd = null;
            String mensagem = "";
            String acao =request.getParameter("acao");
            System.out.println (acao);
            
            try{
                if (acao.equalsIgnoreCase("btnInserir")) {
                    p.setIdPessoa(Integer.parseInt(request.getParameter("txtId")));
                    p.setNome(request.getParameter("txtNome"));
                    p.setEmail(request.getParameter("txtEmail"));
                    p.setTelefone(request.getParameter("txtTelefone"));
                    p.setDatanascimento(request.getParameter("txtData"));
                    dao.cadastrar(p);
                    mensagem = "Cadastrado com Sucesso" ;
                }else if(acao.equalsIgnoreCase("btnModificar")) {
                    p.setIdPessoa(Integer.parseInt(request.getParameter("txtId")));
                    p.setNome(request.getParameter("txtNome"));
                    p.setEmail(request.getParameter("txtEmail"));
                    p.setTelefone(request.getParameter("txtTelefone"));
                    p.setDatanascimento(request.getParameter("txtData"));
                    dao.alterar(p);
                    mensagem = "Alterado com sucesso";
                }else if (acao.equalsIgnoreCase("btnDeletaar")) {
                    p.setIdPessoa(Integer.parseInt(request.getParameter("txtId")));
                    dao.excluir(p);
                    mensagem = "Excluido com sucesos";
                }else if (acao.equalsIgnoreCase("btnListar")) {
                     listaPessoa = dao.listar();
		     request.setAttribute("listaPessoa", listaPessoa);     
               }{
                    out.println("<script type=\"text/javascript\">");
                    out.println("alert('"+mensagem+"');");
                    out.println("location='listaPessoa.jsp';");
                    out.println("</script>");
                }
                rd = request.getRequestDispatcher("listaPessoa.jsp");
                rd.forward(request, response);
                  
            }catch (Exception e) {
               out.println ("Erro" + e);
            }

        }


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

}

Onde ocorre a NullPointerException? Mostra o stack trace que tem lá o ficheiro e a linha onde ocorre.

O erro apresentado:

java.lang.NullPointerException
		at servlet.SERVPessoa.doPost(SERVPessoa.java:126)
		at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
		at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
		at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
		at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
		at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
		at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
		at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
		at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
		at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
		at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
		at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
		at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
		at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
		at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
		at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
		at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)
		at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
		at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
		at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1726)
		at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
		at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
		at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
		at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
		at java.lang.Thread.run(Thread.java:745)
08-Sep-2021 15:55:22.060 GRAVE [http-nio-8080-exec-102] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [SERVPessoa] in context with path [/CadastrodeDados] threw exception
	java.lang.NullPointerException

Teu erro está aqui: o que tem na linha 126 do seu SERVPessoa.java está gerando o nullPointerException

O que tem nessa linha?

obrigado! na linha 126 se encontra esse codigo:

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

@Natalia_Tessmann Provavelmente seu código mudou desde que ocorreu o NullPointerException na stacktrace que vc mandou. Execute de novo e veja se a linha do erro na stacktrace muda.

1 curtida