Blz pessoal, quando envio uma requisição para o servidor via,jsp
da um erro de nullpointerException,mas não tem nenhum valor nulo.
estou postando abaixo o trecho da jsp,o trecho do servlet e do dao.
Se alguem poder da uma força agradeço.
OBS:se tiro a chamada para o metodo da dao ele executa sem o erro
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.NullPointerException
br.com.oriom.CotacaoWeb.serveletes.Servelet_ProdutoC.processRequest(Servelet_ProdutoC.java:140)
br.com.oriom.CotacaoWeb.serveletes.Servelet_ProdutoC.doPost(Servelet_ProdutoC.java:152)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.
//trecho a ser executado na dao
public Fornecedor_Bean listaForne(Fornecedor_Bean fornecedor) throws Exception {
Connection conex = null;
PreparedStatement pst = null;
ResultSet rst = null;
if (fornecedor == null) {
throw new Exception("Valor nao pode ser nulo");
}
String query = "SELECT * FROM fornecedores WHERE id_forn=?";
conex = this.conn;
try {
pst = conex.prepareStatement(query);
pst.setInt(1,fornecedor.getId_Fornecedor());
rst = pst.executeQuery();
int codigo = rst.getInt(1);
String nome = rst.getString(2);
String contato = rst.getString(3);
String tel = rst.getString(4);
String endereco = rst.getString(5);
String cidade=rst.getString(6);
String email = rst.getString(7);
return new Fornecedor_Bean(codigo,nome,contato,tel,endereco,cidade,email);
} finally {
Fabrica_Conexao.close(conn, pst, rst);
}
}
/*
* Este servelt controla as ruizicoes
* para manipular dados sobre fornecedores
*/
package br.com.oriom.CotacaoWeb.serveletes;
import br.com.oriom.CotacaoWeb.auxiliar.Validador;
import br.com.oriom.CotacaoWeb.dao.Dao_Fornecedor;
import br.com.oriom.CotacaoWeb.dao.Dao_FornecedorImp;
import br.com.oriom.bean.Fornecedor_Bean;
import java.io.IOException;
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;
import javax.servlet.http.HttpSession;
import javax.swing.JOptionPane;
/**
*
* @author Administrador
*/
public class Servelet_Fornecedor extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
List lista;
RequestDispatcher rd = null;
String fmd = request.getParameter("fmd");
HttpSession sessiom = request.getSession(true);
Validador valida = new Validador();
if (fmd == null || fmd.trim().equalsIgnoreCase("")) {
fmd = "listar";//pagina padrao
}
Fornecedor_Bean fornecedor = new Fornecedor_Bean();
Dao_Fornecedor daoF = new Dao_FornecedorImp();
if (fmd.equalsIgnoreCase("cadastro")) {
fornecedor.setNome_Fornecedor(request.getParameter("nome"));
fornecedor.setContato_Fornecedor(request.getParameter("contato"));
fornecedor.setFone_Fornecedor(request.getParameter("tel"));
fornecedor.setEndereco_Fornecedor(request.getParameter("endereco"));
fornecedor.setCidade_Fornecedor(request.getParameter("cidade"));
fornecedor.setEmail_Fornecedor(request.getParameter("email"));
if (valida.validaCampos(request, rd)) {
//devolve uma pagina com os campos ja preenchidos
sessiom.setAttribute("fornecedor", fornecedor);
JOptionPane.showMessageDialog(null, "Todos os campos sao de preenchimento obrigatorio!", "Oriom", JOptionPane.INFORMATION_MESSAGE);
rd = request.getRequestDispatcher("/clone_cad_fornecedor.jsp");
} else {
try {
daoF.cadastraFornecedor(fornecedor);
rd = request.getRequestDispatcher("/cadastro_fornecedor.jsp");
} catch (Exception ex) {
}
}
} else if (fmd.equalsIgnoreCase("procura")) {
String filtroId = request.getParameter("filterID");
if (!filtroId.equals("")) {
try {
fornecedor.setId_Fornecedor(Integer.parseInt(filtroId));
lista = daoF.forneID(fornecedor);
sessiom.setAttribute("lista", lista);
rd = request.getRequestDispatcher("/consulta_fornecedor.jsp");
} catch (NumberFormatException nun) {
JOptionPane.showMessageDialog(null, "Numero mal formatado!", "Oriom", JOptionPane.INFORMATION_MESSAGE);
} catch (Exception ex) {
}
} else {
try {
fornecedor.setNome_Fornecedor(request.getParameter("filterDes"));
lista = daoF.forneDesc(fornecedor);
sessiom.setAttribute("lista", lista);
rd = request.getRequestDispatcher("/consulta_fornecedor.jsp");
} catch (Exception ex) {
}
}
} else if (fmd.equalsIgnoreCase("atualizar")) {
try {
fornecedor.setId_Fornecedor(Integer.parseInt(request.getParameter("id")));
daoF.atualizaFornecedor(fornecedor);
rd = request.getRequestDispatcher("/consulta_fornecedor.jsp");
} catch (NumberFormatException num) {
JOptionPane.showMessageDialog(null, "Numero mal formatado!", "Oriom", JOptionPane.INFORMATION_MESSAGE);
} catch (Exception ex) {
}
} else if (fmd.equalsIgnoreCase("deleta")) {
try {
fornecedor.setId_Fornecedor(Integer.parseInt(request.getParameter("id")));
daoF.deletaFornecedor(fornecedor);
rd = request.getRequestDispatcher("/consulta_fornecedor.jsp");
} catch (NumberFormatException num) {
JOptionPane.showMessageDialog(null, "Numero mal formatado!", "Oriom", JOptionPane.INFORMATION_MESSAGE);
} catch (Exception ex) {
}
} else if (fmd.equalsIgnoreCase("listar")) {
rd = request.getRequestDispatcher("/index.jsp");
}else if(fmd.equalsIgnoreCase("atu")){//aqui
try {
fornecedor.setId_Fornecedor(Integer.parseInt(request.getParameter("id")));
fornecedor=daoF.listaForne(fornecedor);[b]//se tiro esta chamada executa sem erro[/b]
HttpSession sessao = request.getSession(true);
sessao.setAttribute("fornecedor",fornecedor);
rd = request.getRequestDispatcher("/form_atu_fornecedor.jsp");
} catch (NumberFormatException num) {
JOptionPane.showMessageDialog(null, "Numero mal formatado", "Oriom", JOptionPane.INFORMATION_MESSAGE);
} catch (Exception ex) {
}
}
rd.forward(request, response);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(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 {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}