Erro ao consultar dados jsp

2 respostas
D

BOA NOITE PASSOAL.
ESTOU FAZENDO UM TRABALHO NA FACULDADE E NÃO ESTOU CONSEGUINDO FAZER UMA CONSULTA NO BANCO MYSQL E EXIBIR OS DADOS EM UMA TABELA. VOU POSTAR TODO CÓDIGO, ELE ESTÁ CADASTRANDO, EXCLUINDO E ATUALIZANDO. SÓ NÃO ESTOU CONSEGUINDO FAZER A CONSULTAR.

CLASSE DE CONEXAO

package Dao;
import java.sql.*;
public class FabricaConexao{
    public static Connection getConexao() {
        Connection con = null;
        try { 
             Class.forName("com.mysql.jdbc.Driver").newInstance();
             String url = "jdbc:mysql://localhost:3306/ideal25_carol";
             String usuario = "root";
             String senha = "";
             return DriverManager.getConnection(url, usuario, senha);
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
            return null;
        } catch (InstantiationException ex) {
            ex.printStackTrace();
            return null;
        } catch (IllegalAccessException ex) {
            ex.printStackTrace();
            return null;
        } catch (SQLException e) {
            return null;
        }
    }
}
--------------------------------------------------------------------

DAO


package Dao;

import Bean.VeiculoBean;
import java.sql.*;

public class Veiculo    {

    private Connection conexao = null;

    public Veiculo() throws ClassNotFoundException {
        this.conexao = FabricaConexao.getConexao();
    }

    public boolean Cadastrar(VeiculoBean vei) {
        try {
            String comando = "INSERT INTO veiculo (IDVEICULO,CHASSI,MARCA,MODELO,ANO,COR,ZERO_KM) VALUES (?,?,?,?,?,?,?)";
            PreparedStatement SMT = conexao.prepareStatement(comando);
            SMT.setInt(1, vei.getIDVEICULO());
            SMT.setInt(2, vei.getCHASSI());
            SMT.setString(3, vei.getMARCA());
            SMT.setString(4, vei.getMODELO());
            SMT.setString(5, vei.getANO());
            SMT.setString(6, vei.getCOR());
            SMT.setString(7, vei.getZERO_KM());
            boolean sucesso = !SMT.execute();
            return sucesso;
        } catch (SQLException e) {
            return false;
        }
    }

    public boolean Alterar(VeiculoBean vei) {
        try {
            String comando = "UPDATE veiculo set CHASSI = ?, " +
                    "         MARCA  = ?, " +
                    "         MODELO = ?, " +
                    "         ANO = ?, " +
                    "         COR = ? " +
                    "    ZERO_KM = ? " +
                    "    where IDVEICULO = ?";
            PreparedStatement SMT = conexao.prepareStatement(comando);
            SMT.setInt(1, vei.getIDVEICULO());
            SMT.setInt(2, vei.getCHASSI());
            SMT.setString(3, vei.getMARCA());
            SMT.setString(4, vei.getMODELO());
            SMT.setString(5, vei.getANO());
            SMT.setString(6, vei.getCOR());
            SMT.setString(7, vei.getZERO_KM());

            boolean sucesso = !SMT.execute();
            return sucesso;
        } catch (SQLException e) {
            return false;
        }
    }

    public boolean Excluir(VeiculoBean vei) {
        try {
            String comando = "DELETE FROM veiculo WHERE IDVEICULO = ?";
            PreparedStatement SMT = conexao.prepareStatement(comando);
            SMT.setInt(1, vei.getIDVEICULO());
            boolean sucesso = !SMT.execute();
            return sucesso;
        } catch (SQLException e) {
            return false;
        }
    }

    public VeiculoBean Consultar(int CHASSI) {
        try {
            String comando = "SELECT * FROM veiculo WHERE CHASSI = ?";
            PreparedStatement SMT = conexao.prepareStatement(comando);
            SMT.setInt(2, CHASSI);
            ResultSet resultado = SMT.executeQuery();
            if (resultado.next()) {
                VeiculoBean vei = new VeiculoBean();
                vei.setIDVEICULO(resultado.getInt("IDVEICULO"));
                vei.setCHASSI(resultado.getInt("CHASSI"));
                vei.setMARCA(resultado.getString("MARCA"));
                vei.setMODELO(resultado.getString("MODELO"));
                vei.setANO(resultado.getString("ANO"));
                vei.setCOR(resultado.getString("COR"));
                vei.setZERO_KM(resultado.getString("ZERO_KM"));
                return vei;
            } else {
                return null;
            }
        } catch (SQLException e) {
            return null;
        }
    }
}

---------------------------------------------------------------------

SERVLET

package Servlet;

import Bean.VeiculoBean;
import Dao.Veiculo;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;

public class VeiServlet extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest rq, HttpServletResponse rp)
            throws ServletException, IOException {
        try {
            VeiculoBean veiculo = new VeiculoBean();
            Veiculo dao = new Veiculo();
            if (rq.getParameter("IDVEICULO") != null && !rq.getParameter("IDVEICULO").equalsIgnoreCase("")) {
                veiculo.setIDVEICULO(Integer.parseInt(rq.getParameter("IDVEICULO")));
                 } else {
                RequestDispatcher saida = rq.getRequestDispatcher("semsucesso.jsp");
                saida.forward(rq, rp);
            }
            if (rq.getParameter("CHASSI") != null && !rq.getParameter("CHASSI").equalsIgnoreCase("")) {
                veiculo.setCHASSI(Integer.parseInt(rq.getParameter("CHASSI")));
            } else {
                RequestDispatcher saida = rq.getRequestDispatcher("semsucesso.jsp");
                saida.forward(rq, rp);
            }
            if (rq.getParameter("MARCA") != null && !rq.getParameter("MARCA").equalsIgnoreCase("")) {
                veiculo.setMARCA(rq.getParameter("MARCA"));
            } else {
                RequestDispatcher saida = rq.getRequestDispatcher("semsucesso.jsp");
                saida.forward(rq, rp);
            }
            if (rq.getParameter("MODELO") != null && !rq.getParameter("MODELO").equalsIgnoreCase("")) {
                veiculo.setMODELO(rq.getParameter("MODELO"));
            } else {
                RequestDispatcher saida = rq.getRequestDispatcher("semsucesso.jsp");
                saida.forward(rq, rp);
            }
            if (rq.getParameter("ANO") != null && !rq.getParameter("ANO").equalsIgnoreCase("")) {
                veiculo.setANO(rq.getParameter("ANO"));
            } else {
                RequestDispatcher saida = rq.getRequestDispatcher("semsucesso.jsp");
                saida.forward(rq, rp);
            }
            if (rq.getParameter("COR") != null && !rq.getParameter("COR").equalsIgnoreCase("")) {
                veiculo.setCOR(rq.getParameter("COR"));
            } else {
                RequestDispatcher saida = rq.getRequestDispatcher("semsucesso.jsp");
                saida.forward(rq, rp);
            }

            veiculo.setZERO_KM(rq.getParameter("ZERO_KM"));
            int opcao = Integer.parseInt(rq.getParameter("opcao"));
            if (opcao == 1) {
                boolean sucesso = dao.Cadastrar(veiculo);
                if (sucesso) {
                    RequestDispatcher saida = rq.getRequestDispatcher("sucesso.jsp");
                    saida.forward(rq, rp);
                } else {
                    RequestDispatcher saida = rq.getRequestDispatcher("semsucesso.jsp");
                    saida.forward(rq, rp);
                }
            } else if (opcao == 2) {
                boolean sucesso = dao.Excluir(veiculo);
                if (sucesso) {
                    RequestDispatcher saida = rq.getRequestDispatcher("sucesso.jsp");
                    saida.forward(rq, rp);
                } else {
                    RequestDispatcher saida = rq.getRequestDispatcher("semsucesso.jsp");
                    saida.forward(rq, rp);
                }
            } else if (opcao == 3) {
                boolean sucesso = dao.Alterar(veiculo);
                if (sucesso) {
                    RequestDispatcher saida = rq.getRequestDispatcher("sucesso.jsp");
                    saida.forward(rq, rp);
                } else {
                    RequestDispatcher saida = rq.getRequestDispatcher("semsucesso.jsp");
                    saida.forward(rq, rp);
                }
            } else if (opcao == 4) {
                dao.Consultar(veiculo.getCHASSI());
                RequestDispatcher saida = rq.getRequestDispatcher("exibirconsulta.jsp");
                saida.forward(rq, rp);
            }
        } catch (Exception erro) {
           erro.printStackTrace();
           
        }
    }
}


--------------------------------------------------------------------

PAGINA DE CONSULTA . A CONSULTA É FEITA PELO CHASSI DO VEICULO


<%@page contentType="text/html" pageEncoding="windows-1252"%>
<%@page import="Bean.VeiculoBean,java.util.ArrayList"%>
<%!
int i = 0;
ArrayList<Bean.VeiculoBean> listVeiculo = null;
%>
<%
listVeiculo = (ArrayList<Bean.VeiculoBean>) request.getAttribute("listVeiculo");
%>
<html>
    
    <head>    
        <title>Sistema de Financiamento - Consultar Veicular</title>
        <link rel=stylesheet type="text/css" href="estilo/principal.css"> 
        <link rel=stylesheet type="text/css" href="estilo/divs.css"> 
        <link rel=stylesheet type="text/css" href="estilo/controle.css">
    </head>
    <body>
       
        
        <div class="logo">
        <img src="imagens/banner1_site.jpg" width="927"/></div>
        <div class="menu">
            <div class="headerbar"> 
                <div class="urbangreymenu">  
                    <ul>
                        <img src="imagens/menudes.jpg" width="145" height="36" />
                        <li><a href="index.jsp">Home</a></li>
                        <li><a href="concessionaria.jsp">Concession&aacute;ria</a></li>
                        <li><a href="veiculo.jsp/">Veiculo</a></li>
                        <li><a href="cliente.jsp/">Cliente</a></li>
                        <li><a href="financiadora.jsp/">Financiadora</a></li>
                        <li><a href="contrato.jsp/">Contrato</a></li>
                        <li><a href="usuario.jsp/">Usu&aacute;rio</a></li>
                        
                    </ul>
        </div></div></div>
        <div class="centro">
            <div class="halfmoon">
                <ul>
                    <li><a href="consultavei.jsp">Consultar</a></li>
                <li><a href="http://www.dynamicdrive.com/new.htm">Alterar</a></li></ul>
            <div class="obs">Os campos marcados por asterisco(*) sao obrigat&oacute;rios.</div></div>
            <table width="770" height="365" border="0" background="imagens/gradient11308896.png">  
               <form name="frmVeiculo" method='post' action='VeiServlet'>
                <input type='hidden' name='acao' value=''>
                <input type='hidden' name='cod' value=''>
                <input type='hidden' name='table' value='Veiculo'>
                <input type="hidden" name="opcao" id="opcao" value="0">
                  <tr>
                    <td height="30" colspan="4" align="center" class="tb2">Consultar Veiculo:</td></tr>                       
                    <tr>
                        <td width="83" height="31" class="tb1">Chassi:*</td>
                        <td width="677">
                        <input type="text" name="CHASSI" id="CHASSI" size="10" maxlength="15"/>                        </td>
                    </tr>
                    <tr>
                        <th>Código</th> 
                    </tr>
                    <tr>
                        <th>Chassi</th>
                    </tr>
                    <tr>
                        <th>Marca</th>
                    </tr>
                    <tr>
                        <th>Modelo</th>
                    </tr>
                    <tr>
                        <th>Ano</th>
                    </tr>
                     
                    <%
                    for (int i = 0; i < listVeiculo.size(); i++) {
                    %>
                     <tr>
                        <td>
                            <a href="VeiServlet?acao=ConsultarVeiculo&CHASSI=<%=listVeiculo.get(i).getCHASSI()%>"><%=listVeiculo.get(i).getCHASSI()%></a>
                        </td>
                        <td>
                            <a href="VeiServlet?acao=Consultar&CHASSI=<%=listVeiculo.get(i).getCHASSI()%>"><%=listVeiculo.get(i).getIDVEICULO()%></a>
                        </td>
                        <td>
                            <a href="VeiServlet?acao=Consultar&CHASSI=<%=listVeiculo.get(i).getCHASSI()%>"><%=listVeiculo.get(i).getMARCA()%></a>
                        </td>
                        <td>
                            <a href="VeiServlet?acao=Consultar&CHASSI=<%=listVeiculo.get(i).getCHASSI()%>"><%=listVeiculo.get(i).getMODELO()%></a>
                        </td>
                        <td>
                            <a href="VeiServlet?acao=Consultar&CHASSI=<%=listVeiculo.get(i).getCHASSI()%>"><%=listVeiculo.get(i).getCOR()%></a>
                        </td>
                        <td>                            
                            <input type='button' value='Excluir' onclick='Excluir("<%=listVeiculo.get(i).getCHASSI()%>",document.frmVeiculo)'>
                        </td>

                    </tr>
                   <%
                    } 
                    %>
                   <tr>
                        <td colspan="4" align="center">
                             <input type="button" class="botao" value = "CONSULTAR" onClick="setAcao(4)"></td>
                    </tr>
                    <tr>
                        <td height="24"></td>
                    </tr>
                </form>
            </table> 
        </div>
       
    </body>
</html>

QUANDO EXECUTO A PÁGINA JSP ELE DÁ UM ERRO NO FOR
SEGUE O ERRO.

org.apache.jasper.JasperException: An exception occurred processing JSP page /exibirconsulta.jsp at line 75

72:                     

73:

74:                     <%

75:                     for (int i = 0; i < listVeiculo.size(); i++) {

76:                     %>

77:

78:
Stacktrace:

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)

javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)

root cause

java.lang.NullPointerException

org.apache.jsp.exibirconsulta_jsp._jspService(exibirconsulta_jsp.java:132)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)

javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)

2 Respostas

joaorafael

Este erro ocorre porque a tua lista de veiculo está vazia.
Na tua JSP quando vc pega a (request.getAttribute(“listVeiculo”) )da request quem que setou ela?

<%!   
int i = 0;   
ArrayList<Bean.VeiculoBean> listVeiculo = null;   
%>   
<%   
listVeiculo = (ArrayList<Bean.VeiculoBean>) request.getAttribute("listVeiculo");   
%>

Para nao acontecer isto na tua classe Dao Veiculo crie um metodo para listar todos os veiculos pois nao tem.
E no teu servlet chame o metodo de lista e seta o mesmo na request.

D

Obrigado Rafael ,

Criado 1 de novembro de 2008
Ultima resposta 2 de nov. de 2008
Respostas 2
Participantes 2