Boa noite pessoal, estou desenvolvendo um ecommerce pra trabalho de faculdade e estou com uma dúvida ao inserir um campo que será chave estrangeira.
Tenho uma classe produto e uma categoria. No caso a classe produto possui código da categoria como chave estrangeira. Estou tentando fazer a inserção no banco porém ocorre o segu erro
[code]type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: java.lang.NullPointerException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:520)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:427)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
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)
root cause
java.lang.NullPointerException
struts.action.ProdutoAction.execute(ProdutoAction.java:60)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
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.20 logs.
[/code]
O meu código da classe CategoriaAction é
public class CategoriaAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request,
HttpServletResponse response) throws Exception{
HttpSession session = request.getSession();
CategoriaForm categoriaForm = (CategoriaForm)form;
Categoria categoria = new Categoria();
categoria.setCod_Categ(Integer.parseInt(categoriaForm.getCodigo()));
categoria.setDescricao(categoriaForm.getDescricao());
categoria.setNome(categoriaForm.getNome());
CategoriaDao dao = new CategoriaDao();
dao.create(categoria);
session.setAttribute("categoria", categoria);
return mapping.findForward("categoria");
}
}
e da classe ProdutoAction
public class ProdutoAction extends Action{
public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request,
HttpServletResponse response) throws Exception{
HttpSession session = request.getSession();
ProdutoForm produtoForm = (ProdutoForm)form;
Produto produto = new Produto();
produto.setCod_Prod(Integer.parseInt(produtoForm.getCodigo()));
produto.setNome(produtoForm.getNome());
produto.setDescricao(produtoForm.getDescricao());
produto.setQtd_Estoque(Integer.parseInt(produtoForm.getQtdEstoque()));
produto.setValor(Double.parseDouble(produtoForm.getPrecoUnit()));
produto.setValor(Double.parseDouble(produtoForm.getPrecoPromocional()));
produto.getCod_Categ().setCod_Categ(Integer.parseInt(produtoForm.getCodCateg()));
ProdutoDao dao = new ProdutoDao();
dao.create(produto);
session.setAttribute("produto", produto);
return mapping.findForward("produto");
}
}
}
Esse erro da linha 60 é da seguinte linha
produto.getCod_Categ().setCod_Categ(Integer.parseInt(produtoForm.getCodCateg()));
Alguém saberia me dizer o pq?
Obrigada