JSP (Java Server Page) - tengo ese error y no se que hacer

 
Vista:
sin imagen de perfil

tengo ese error y no se que hacer

Publicado por Óscar (1 intervención) el 30/04/2023 00:21:30
StandardWrapperValve[ProductoController]: Servlet.service() for servlet ProductoController threw exc
type Exception report

messageInternal Server Error

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


package com.example.controller;

import com.example.model.ProductoDAO;
import com.example.model.Producto;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
*
* @author USUARIO
*/
public class ProductoController extends HttpServlet {

private ProductoDAO productoDAO = new ProductoDAO();
private String path = "producto/";

/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code>
* methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String nombre,descripcion,precio,cantidad,disponible,posTxt, url="";
int pos;
Producto producto;
String opt = (request.getParameter("opt")!=null)?request.getParameter("opt"):"listar";
if (opt.equals("listar")) {
url = path+"index.jsp";
request.setAttribute("Productos", productoDAO.getAll());
request.getRequestDispatcher(url).forward(request, response);
return;
} else if (opt.equals("agregar")) {
url = path+"create.jsp";
request.getRequestDispatcher(url).forward(request, response);
return;
} else if (opt.equals("guardar")) {
nombre = request.getParameter("nombre");
descripcion = request.getParameter("descripcion");
precio = request.getParameter("precio");
cantidad = request.getParameter("cantidad");
disponible = request.getParameter("disponible");
producto=new Producto();
producto.setNombre(nombre);
producto.setDescripcion(descripcion);
producto.setPrecio(precio);
producto.setCantidad(cantidad);
if (disponible.equalsIgnoreCase("si")) {
producto.setDisponible(true);
} else {
producto.setDisponible(false);
}
if (productoDAO.addProducto(producto)) {
response.sendRedirect("gestionproducto");
return;
}
response.sendRedirect("gestionproducto");
} else if (opt.equals("eliminar")) {
posTxt = request.getParameter("pos");
pos = Integer.parseInt(posTxt);
productoDAO.deleteProducto(pos);
response.sendRedirect("gestionproducto");
} else if (opt.equals("editar")) {
posTxt = request.getParameter("pos");
pos = Integer.parseInt(posTxt);
producto = productoDAO.getProducto(pos);
request.setAttribute("producto", producto);
request.setAttribute("pos", pos);
url = path+"edit.jsp";
request.getRequestDispatcher(url).forward(request, response);
} else if (opt.equals("actualizar")) {
posTxt = request.getParameter("pos");
pos = Integer.parseInt(posTxt);
nombre = request.getParameter("nombre");
descripcion = request.getParameter("descripcion");
precio = request.getParameter("precio");
cantidad = request.getParameter("cantidad");
disponible = request.getParameter("disponible");
producto=productoDAO.getProducto(pos);
producto.setNombre(nombre);
producto.setDescripcion(descripcion);
producto.setPrecio(precio);
producto.setCantidad(cantidad);
if (disponible.equalsIgnoreCase("si")) {
producto.setDisponible(true);
} else {
producto.setDisponible(false);
}
if (productoDAO.updateProducto(pos, producto)) {
response.sendRedirect("gestionproducto");
return;
}
response.sendRedirect("gestionproducto");
}

}

// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP <code>GET</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 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>

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder