EMSO.EXE 0 Denunciar post Postado Junho 6, 2011 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
Vergil 15 Denunciar post Postado Junho 6, 2011 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
EMSO.EXE 0 Denunciar post Postado Junho 7, 2011 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