Javafree
Página Inicial do Fórum > JSP / Servlets

java.lang.NullPointerException



Criar novo tópico   Responder tópico


  1. jairodione
    Posts:3


    Comment Arrow

    Publicado em: 13/05/2016 21:58:41

    Olá Pessoal!

    Estou desenvolvendo uma tela de venda, mas o sistema não me mostra o item incluído no detalhe da venda. Abaixo está descrito os erros que o sistema me informa e eu não estou conseguindo solucionar!

    * Browser:
    HTTP Status 500 -

    type Exception report

    message

    description The server encountered an internal error () that prevented it from fulfilling this request.

    exception

    java.lang.NullPointerException
    br.com.jairo.dao.ItensVendaDAO.getListaItensVenda(ItensVendaDAO.java:74)
    br.com.jairo.controle.VendaCRUD.processRequest(VendaCRUD.java:113)
    br.com.jairo.controle.VendaCRUD.doGet(VendaCRUD.java:133)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)

    note The full stack trace of the root cause is available in the Apache Tomcat/6.0.26 logs.


    * Log do apache tomcat

    java.lang.NullPointerException
    at br.com.jairo.dao.ItensVendaDAO.getListaItensVenda(ItensVendaDAO.java:74)
    at br.com.jairo.controle.VendaCRUD.processRequest(VendaCRUD.java:113)
    at br.com.jairo.controle.VendaCRUD.doGet(VendaCRUD.java:133)

    Abaixo segue o codigo da pagina jsp e demais codigos:

    * Pagina JSP:
    [/code]
    <form id="formVenda" method="get" action="VendaCRUD">
    <h1>Nova Venda de Mercadorias</h1>
    <label for="vencodigo">Codigo da Venda</label>
    <input type="text" name="vencodigo" id="vencodigo" size="5" maxlength="" disabled="disabled"
    Value="<%
    if (request.getParameter("vencodigo" != null) {
    out.println(request.getParameter("vencodigo");
    } else if (request.getAttribute("sessaoUltimoRegistroVenda" != null) {
    out.println(request.getAttribute("sessaoUltimoRegistroVenda");
    }

    %>"
    />
    <label for="vendata">Data da Venda</label>
    <input type="date" name="vendata" id="vendata" value="${param.vendata}" /><br/>
    <label for="clicodigo">Codigo do Cliente</label>
    <input type="text" name="clicodigo" id="clicodigo" size="5" value="${param.clicodigo}"/>
    <select name="selectCliente" id="selectCliente">
    <tagsJairo:listaClienteSelect/>
    </select><br/>
    <label for="venvalortotal">Valor Total da Venda</label>
    <input type="text" name="venvalortotal" id="venvalortotal" value="${param.venvalortotal}" />
    <input type="hidden" name="acao" value="novo" />
    <input type="submit" value="Gerar Venda e Inserir Itens na Nota" />
    </form>
    <form id="formItensVenda" method="get" action="VendaCRUD"
    <%if (request.getParameter("clicodigo" == null) {
    out.println("hidden='true'";
    }
    %>
    >
    <h1>Produtos da Venda</h1>
    <label for="itenscodigo">Sequencia</label>
    <input type="text" name="itenscodigo" id="itenscodigo" size="5" maxlength="" readonly="readonly"/>
    <label for="vencodigo">Codigo da Venda</label>
    <input type="text" name="vencodigo" id="vencodigo" Value="<%
    if (request.getParameter("vencodigo" != null) {
    out.println(request.getParameter("vencodigo");
    } else if (request.getAttribute("sessaoUltimoRegistroVenda" != null) {
    out.println(request.getAttribute("sessaoUltimoRegistroVenda");
    }

    %>" readonly="readonly"/><br/>
    <label for="prodcodigo">Codigo do Produto</label>
    <input type="text" name="prodcodigo" id="prodcodigo" size="5" value="${param.prodcodigo}"/>
    <select name="selectProduto" id="selectProduto">
    <tagsJairo:listaProdutoSelect/>
    </select><br/>
    <label for="venquantidade">Quantidade</label>
    <input type="text" name="venquantidade" id="venquantidade" value="${param.venquantidade}"/>
    <label for="ventotal">Total</label>
    <input type="text" name="ventotal" id="ventotal" value="${param.ventotal}"/>
    <input type="hidden" name="codigovenda" value="<%
    if (request.getAttribute("sessaoUltimoRegistroVenda" != null) {
    out.println(request.getAttribute("sessaoUltimoRegistroVenda");
    }
    %>" />
    <input type="hidden" name="clicodigo" id="clicodigo" value="${param.clicodigo}"/>
    <input type="hidden" name="vendata" id="vendata" value="${param.vendata}" />
    <input type="hidden" name="venvalortotal" id="venvalortotal" value="${param.venvalortotal}" />
    <input type="hidden" name="acao" value="novoItemVenda" />
    <input type="submit" value="Inserir" /><br>
    <%
    if (request.getAttribute("sessaoListaItensVenda" != null) {
    java.util.List listaItensVenda = (java.util.List) request.getAttribute("sessaoListaItensVenda";

    out.println("<table border='1'>";

    out.println("<tr><td>Sequencia</td><td>Numero da NF</td><td>Codigo do Produto</td><td>Quantidade</td><td>Total</td></tr>";

    for (java.util.Iterator iterator = listaItensVenda.iterator(); iterator.hasNext() {
    br.com.jairo.modelo.ItensVenda itensVenda = (br.com.jairo.modelo.ItensVenda) iterator.next();

    out.println("<tr>";
    String sequencia = String.valueOf(itensVenda.getItensCodigo());
    String nf = String.valueOf(itensVenda.getVenCodigo());
    String produto = String.valueOf(itensVenda.getProdCodigo());
    String quantidade = String.valueOf(itensVenda.getVenQuantidade());
    String total = String.valueOf(itensVenda.getVenTotal());
    out.println("<td>" + sequencia + "</td>";
    out.println("<td>" + nf + "</td>";
    out.println("<td>" + produto + "</td>";
    out.println("<td>" + quantidade + "</td>";
    out.println("<td>" + total + "</td>";

    out.println("</tr>";
    }


    out.println("</table>";
    }
    %>
    </form>

    public class VendaCRUD extends HttpServlet {

    /**
    * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
    * @param request servlet request
    * @param response servlet response
    * @throws ServletException if a servlet-specific error occurs
    * @throws IOException if an I/O error occurs
    */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException, ParseException, SQLException {

    String venCodigo = request.getParameter("vencodigo";
    String venData = request.getParameter("vendata";
    String cliCodigo = request.getParameter("clicodigo";
    String venValorTotal = request.getParameter("venvalortotal";
    RequestDispatcher rd = null;

    Vendas vendas = new Vendas();

    if (venCodigo != null) {
    vendas.setVenCodigo(Integer.parseInt(venCodigo));
    }

    DateFormat formatoData = new SimpleDateFormat("dd/MM/yyyy";
    if (venData != null) {
    Date venDataFormatada = formatoData.parse(venData);
    vendas.setVenData(venDataFormatada);
    }

    if (cliCodigo != null) {
    vendas.setCliCodigo(Integer.parseInt(cliCodigo));
    }

    if (venValorTotal != null) {
    vendas.setVenValorTotal(Double.parseDouble(venValorTotal));
    }

    VendaDAO vendaDAO = new VendaDAO();

    String codigoVenda = request.getParameter("vencodigo";
    String prodCodigo = request.getParameter("prodcodigo";
    String venQuantidade = request.getParameter("venquantidade";
    String venTotal = request.getParameter("ventotal";

    ItensVenda itensVenda = new ItensVenda();

    if (codigoVenda != null) {
    itensVenda.setVenCodigo(Integer.parseInt(codigoVenda));
    }

    if (prodCodigo != null) {
    itensVenda.setProdCodigo(Integer.parseInt(prodCodigo));
    }

    if (venQuantidade != null) {
    itensVenda.setVenQuantidade(Integer.parseInt(venQuantidade));
    }

    if (venTotal != null) {
    itensVenda.setVenTotal(Double.parseDouble(venTotal));
    }

    ItensVendaDAO itensVendaDAO = new ItensVendaDAO();

    //verificar qual é a ação
    String acao = request.getParameter("acao";
    if (acao == null) {
    acao = "listarVenda";
    }

    if (acao.equals("alterar") {
    //clienteDAO.alteraCliente(clientes);
    //rd = request.getRequestDispatcher("/ClienteCRUD?acao=listarCliente";
    } else if (acao.equals("excluir") {
    //clienteDAO.excluiCliente(clientes);
    //rd = request.getRequestDispatcher("/ClienteCRUD?acao=listarCliente";
    } else if (acao.equals("novo") {
    vendaDAO.novaVenda(vendas);
    request.setAttribute("sessaoUltimoRegistroVenda", vendaDAO.ultimoRegistro());
    rd = request.getRequestDispatcher("/venda.jsp";
    } else if (acao.equals("novoItemVenda") {
    itensVendaDAO.novoItemVenda(itensVenda);
    List listaItensVenda = itensVendaDAO.getListaItensVenda(Integer.parseInt(codigoVenda));
    request.setAttribute("sessaoListaItensVenda", listaItensVenda);
    //request.setAttribute("sessaoUltimoRegistroVenda", vendaDAO.ultimoRegistro());
    rd = request.getRequestDispatcher("/venda.jsp";
    }
    rd.forward(request, response);
    }

    // <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 {
    try {
    processRequest(request, response);
    } catch (ParseException ex) {
    Logger.getLogger(VendaCRUD.class.getName()).log(Level.SEVERE, null, ex);
    } catch (SQLException ex) {
    Logger.getLogger(VendaCRUD.class.getName()).log(Level.SEVERE, null, ex);
    }
    }

    /**
    * 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 {
    try {
    processRequest(request, response);
    } catch (ParseException ex) {
    Logger.getLogger(VendaCRUD.class.getName()).log(Level.SEVERE, null, ex);
    } catch (SQLException ex) {
    Logger.getLogger(VendaCRUD.class.getName()).log(Level.SEVERE, null, ex);
    }
    }

    /**
    * Returns a short description of the servlet.
    * @return a String containing servlet description
    */
    @Override
    public String getServletInfo() {
    return "Short description";
    }// </editor-fold>
    }

    public class ItensVenda {
    private int itensCodigo;
    private int venCodigo;
    private int prodCodigo;
    private int venQuantidade;
    private double venTotal;

    /**
    * @return the itensCodigo
    */
    public int getItensCodigo() {
    return itensCodigo;
    }

    /**
    * @param itensCodigo the itensCodigo to set
    */
    public void setItensCodigo(int itensCodigo) {
    this.itensCodigo = itensCodigo;
    }

    /**
    * @return the venCodigo
    */
    public int getVenCodigo() {
    return venCodigo;
    }

    /**
    * @param venCodigo the venCodigo to set
    */
    public void setVenCodigo(int venCodigo) {
    this.venCodigo = venCodigo;
    }

    /**
    * @return the prodCodigo
    */
    public int getProdCodigo() {
    return prodCodigo;
    }

    /**
    * @param prodCodigo the prodCodigo to set
    */
    public void setProdCodigo(int prodCodigo) {
    this.prodCodigo = prodCodigo;
    }

    /**
    * @return the venQuantidade
    */
    public int getVenQuantidade() {
    return venQuantidade;
    }

    /**
    * @param venQuantidade the venQuantidade to set
    */
    public void setVenQuantidade(int venQuantidade) {
    this.venQuantidade = venQuantidade;
    }

    /**
    * @return the venTotal
    */
    public double getVenTotal() {
    return venTotal;
    }

    /**
    * @param venTotal the venTotal to set
    */
    public void setVenTotal(double venTotal) {
    this.venTotal = venTotal;
    }
    }

    public class ItensVendaDAO {

    private Connection connection;

    public ItensVendaDAO() {
    this.connection = new ConnectionFactory().getConnection();
    }

    //metodo para incluir novo item da venda
    public void novoItemVenda(ItensVenda itensVendas) throws SQLException {
    String sql = "insert into itensvenda (vencodigo, prodcodigo, venquantidade, ventotal) values(?,?,?,?)";
    PreparedStatement ps = null;
    try {
    ps = connection.prepareStatement(sql);
    ps.setInt(1, itensVendas.getVenCodigo());
    ps.setInt(2, itensVendas.getProdCodigo());
    ps.setInt(3, itensVendas.getVenQuantidade());
    ps.setDouble(4, itensVendas.getVenTotal());
    //System.out.println("SQL Novo Item Venda->"+ps.toString());
    ps.execute();
    } catch (SQLException ex) {
    Logger.getLogger(VendaDAO.class.getName()).log(Level.SEVERE, null, ex);
    } finally {
    connection.close();
    ps.close();
    }
    }

    //metodo que retorna a lista de itens vendidos do banco de dados
    public List getListaItensVenda(int codigoVenda) throws SQLException {
    String sql = "select * from itensvenda where vencodigo = "+codigoVenda;
    PreparedStatement ps = null;
    ResultSet rs = null;
    List<ItensVenda> listaItensVenda = new ArrayList<ItensVenda>();
    try {
    ps = connection.prepareStatement(sql);
    rs = ps.executeQuery();
    while (rs.next()) {
    ItensVenda itensVenda = new ItensVenda();
    itensVenda.setItensCodigo(rs.getInt("itenscodigo");
    itensVenda.setVenCodigo(rs.getInt("vencodigo");
    itensVenda.setProdCodigo(rs.getInt("prodcodigo");
    itensVenda.setVenQuantidade(rs.getInt("venquantidade");
    itensVenda.setVenTotal(rs.getDouble("ventotal");
    listaItensVenda.add(itensVenda);
    }
    return listaItensVenda;
    } catch (SQLException er) {
    Logger.getLogger(ItensVendaDAO.class.getName()).log(Level.SEVERE, null, er);
    } finally {
    connection.close();
    ps.close();
    rs.close();
    }
    return null;
    }
    }



  1. Relacionados