Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

EMSO.EXE

Não retorna consulta (jsp)

Recommended Posts

Estou tentando fazer um cadastro e consulta através de JSP... a inserção está ok, porém ao consultar o registro gravado ocorre o seguinte erro:

 

HTTP Status 500 -

 

type Exception report

 

message

 

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

 

exception

 

org.apache.jasper.JasperException: java.lang.NullPointerException

 

root cause

 

java.lang.NullPointerException

 

note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 3.0.1 logs.

GlassFish Server Open Source Edition 3.0.1

 

Este são os códigos

 

cadastraProduto.jsp

<html>
   <head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
       <title>cadastraProduto</title>
   </head>
   <body>
     <h2>Resultado</h2>
       <%
       packProduto.Produto UmProduto = new packProduto.Produto();

       int flag = Integer.parseInt(request.getParameter("flag"));

       if (flag == 1){
           UmProduto.setCodigo(request.getParameter("codigo"));
           UmProduto.setProduto(request.getParameter("produto"));
           UmProduto.setQtde(request.getParameter("qtde"));
           UmProduto.setPreco(request.getParameter("preco"));
           packProduto.ProdutoBLL.ConsisteUmProduto(UmProduto);
           if (packProduto.ProdutoBLL.getErro())
               out.println(packProduto.ProdutoBLL.getMsg());
           else {
               out.println("<br /><b> REGISTRO GRAVADO! </b><br />");
               out.println("<br /> Código: " + UmProduto.getCodigo());
               out.println("<br /> Produto: " + UmProduto.getProduto());
               out.println("<br /> Qtde: " + UmProduto.getQtde());
               out.println("<br /> Preço: " + UmProduto.getPreco());
               }
           }
       else {
           UmProduto.setCodigo(request.getParameter("codigo"));
           packProduto.ProdutoBLL.ConsisteUmProduto(UmProduto);
           if (packProduto.ProdutoBLL.getErro())
               out.println(packProduto.ProdutoBLL.getMsg());
           else {
               out.println("<br /><b> REGISTRO CONSULTADO! </b><br />");
               out.println("<br /> Código: " + UmProduto.getCodigo());
               out.println("<br /> Produto: " + UmProduto.getProduto());
               out.println("<br /> Qtde: " + UmProduto.getQtde());
               out.println("<br /> Preço: " + UmProduto.getPreco());
               }
           }
       %>
       <br /><br /><a >VOLTAR</a>
   </body>
</html>

 

produtoDAL.java

package packProduto;
import  java.sql.*;

public class ProdutoDAL {
   public static void inseriUmProduto(Produto UmProduto) {
       try {
           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
           Connection con;
           con = DriverManager.getConnection("jdbc:odbc:UmAlias","","");
           PreparedStatement st = con.prepareStatement("INSERT INTO TabProduto (codigo,produto,qdte,preco) Values (?,?,?,?)");
           st.setInt(1,Integer.parseInt(UmProduto.getCodigo()));
           st.setString(2,UmProduto.getProduto());
           st.setString(3,UmProduto.getQtde());
           st.setString(4,UmProduto.getPreco());
           st.executeUpdate();
           con.close();
       }
       catch(Exception e) {
           System.out.println(e.getMessage());
       }
   }

   public static void consultaUmProduto(Produto UmProduto) {
       try {
           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
           Connection con;
           con = DriverManager.getConnection("jdbc:odbc:UmAlias","","");
           ResultSet rs;
           Statement st = con.createStatement();
           rs = st.executeQuery("SELECT * FROM TabProduto WHERE codigo='"+ UmProduto.getCodigo() +"'");
           while (rs.next())
           {
             UmProduto.setCodigo(rs.getString("codigo"));
             UmProduto.setProduto(rs.getString("produto"));
             UmProduto.setQtde(rs.getString("qtde"));
             UmProduto.setPreco(rs.getString("preco"));
           }
           con.close();
       }
       catch(Exception e) {
           System.out.println(e.getMessage());
       }
   }
}

 

Agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

O ideal seria você postar a pilha de erros.

 

Como na tela de erro fala que se trata de um NullPointerException, verifique se no método de consulta o objeto UmProduto é diferente de null.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro estava na chamada do método que verifica se o código lançado é int e não nulo... não havia postado o código, porém agora exibe o código do produto pesquisado, mas os demais campos aparecem como null.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.